acssll码怎么求 ascii在线编码转换工具( 三 )


这两个古怪的名称来自英国作家斯威夫特的《格列佛游记》 。在该书中,小人国里爆发了内战,战争起因是人们争论,吃鸡蛋时究竟是从大头(Big-endian)敲开还是从小头(Little-endian)敲开 。为了这件事情,前后爆发了六次战争,一个皇帝送了命,另一个皇帝丢了王位 。
第一个字节在前,就是”大头方式”(Big endian),第二个字节在前就是”小头方式”(Little endian) 。
那么很自然的,就会出现一个问题:计算机怎么知道某一个文件到底采用哪一种方式编码?
Unicode 规范定义,每一个文件的最前面分别加入一个表示编码顺序的字符,这个字符的名字叫做”零宽度非换行空格”(zero width no-break space),用FEFF表示 。这正好是两个字节,而且FF比FE大1 。
如果一个文本文件的头两个字节是FE FF,就表示该文件采用大头方式;如果头两个字节是FF FE,就表示该文件采用小头方式 。
八、实例
下面,举一个实例 。
打开”记事本”程序notepad.exe,新建一个文本文件,内容就是一个严字,依次采用ANSI,Unicode,Unicode big endian和UTF-8编码方式保存 。
然后,用文本编辑软件UltraEdit 中的”十六进制功能”,观察该文件的内部编码方式 。
1)ANSI:文件的编码就是两个字节D1 CF,这正是严的 GB2312 编码,这也暗示 GB2312 是采用大头方式存储的 。
2)Unicode:编码是四个字节FF FE 25 4E,其中FF FE表明是小头方式存储,真正的编码是4E25 。
3)Unicode big endian:编码是四个字节FE FF 4E 25,其中FE FF表明是大头方式存储 。
4)UTF-8:编码是六个字节EF BB BF E4 B8 A5,前三个字节EF BB BF表示这是UTF-8编码,后三个E4B8A5就是严的具体编码,它的存储顺序与编码顺序是一致的 。