标签 utf8 下的文章

GB18030(兼容GB2312)编码验证与校正

之前写 APP 抓 GB2312 编码的HTML时候, 发现 HTML 文件里面混了一些非 GB18030(包含GB2312字符集) 字符集的字符。

以下代码出错:

//self.gb18030Encoding = CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingGB_18030_2000);

//原页面采用 GB2312 编码
NSString *result = [[NSString alloc] initWithData:data encoding:self.gb18030Encoding];


- 阅读剩余部分 -

Unicode UTF-16 UTF-8 GB2312 GBK GB18030 ASCII Latin-1

整理一下这些概念。

计算机内只能保存101010等二进制数据,那么页面上显示的字符是如何显示出来的呢?1

一:字符集(Charset)
charset = char + set,char 是字符,set是集合,charset就是字符的集合。
字符集就是是这个编码方式涵盖了哪些字符,每个字符都有一个数字序号。

二:编码方式(Encoding)
编码方式就是一个字符要怎样编码成二进制字节序,或者反过来怎么解析。
也即给你一个数字序号,要编码成几个字节,字节顺序如何,或者其他特殊规则。

三:字形字体(Font)
根据数字序号调用字体存储的字形,就可以在页面上显示出来了。
所以一个字符要显示出来,要显示成什么样子要看字体文件。

- 阅读剩余部分 -