原文链接:http://www.yanwushu.com/post/4.html
ANSI指American National Standards Institute(美国国家标准学会)。
ANSI编码不是一种具体的编码方式,而是一种指定在某些环境下使用某些编码方式的标准。比如,在中文环境中ANSI的编码标准为GBK,在日语环境中ANSI的编码标准则是Shift_JIS编码。
ASCII编码使用0×00~0x7F之间的每个字节表示一个字符,英语世界之外的其他国家对此字符集进行了扩展,除了ascii字符集之外,他们1个到4个字节来表示一个字符,形成了自己语言的编码方式,比如GBK, Big5、Shift_JIS等。
-
中文环境下ansi编码对应的编码方式为GBK,GBK的编码规则为:
a) 对于ascii字符集中的字符,使用ascii编码(也就是说gbk编码是兼容ascii编码的); b) 非ascii字符使用GB标准。最早是GB2312,但是由于该标准收录的汉字数较少,后来就被GB18030取代。GB18030也在不断扩展,GB18030-2005收录了70244个汉字。本文不在叙述gbk的具体编码规则,简单来说该标准表达单个字符使用1字节、2字节、4字节这三种情况。
ASNI编码是不利于跨语言数据交流的,比如windows文件默认使用ANSI编码。那么,在中文windows下创建的文件,在日文windows下是无法正确解析的,因为日文windows下ANSI编码使用的是Shift_JIS编码。
为了统一世界各种语言的编码,unicode编码被创造出来,需要注意的是unicode也不是一个具体的编码规则,在unicode标准下,有utf-8,utf-16等具体的实现。他们都对应不同的编码规则。
在某个角度理解,ANSI编码是一种历史遗留,应该被淘汰,进而使用更加先进、方便的unicode编码。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。