保存之后,用WinHex或者UltraEdit打开,发现其16进制编码为E9 E4, 和本文第一张表格内的GBK编码E9 E4相同。为什么会这样?
在简体中文系统下,ANSI 编码代表 GB2312 编码,是计算机可以识别的编码,适用于汉字处理、汉字通信等系统之间的信息交换。一个汉字由两个ANSI码组成,共收入汉字6763个和非汉字图形字符682个。由中国标准总周公解梦梦见洗头发局1980年发布,1981年5月1日开始正式实施。
因为GB2312未涵盖一些汉语生僻字和少数民族的文字,所以就有了GBK(汉字内码扩展规范),GBK即“国标”、“扩展”汉语拼音的第一个字母。
在简体中文Windows操作系统中,ANSI 编码代表 GBK 编码,这就解释了我们另存为编码为ANSI的“殇”看到的16进制编码和GBK一致。
其实这是比尔盖兹的Windows操作系统的特色:Windows系统的txt文件在使用utf-8编码保存时会默认在文件开头插入三个不可见的字符(0xEF 0xBB 0xBF),称为BOM头,这个BOM头在很多编程语言中得到了特殊对待,比如python的codecs库中已经定义为常量(codecs.BOM_UTF8)。
Unicode通常用两个字节表示一个字符。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
FF FE 87 6B,其中FF FE代表little endian(小字节序、低字节序),即低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
网友评论 ()条 查看