ansi utf-8编码_utf8是等长编码吗

2022-11-09 14:56:43 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

  • 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://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

http://blog.csdn.net/chaijunkun/article/details/4654397#comments

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/190329.html原文链接:https://javaforall.cn

0 人点赞