美文网首页
Unicode与UTF-8之间的关联与差别

Unicode与UTF-8之间的关联与差别

作者: 多年0以后 | 来源:发表于2018-10-22 22:07 被阅读0次

    提到编码我们常想起来的是ASCII、Unicode,字符集我们可能想到GBK、GB2312、UTF-8、但是他们之间有什么区别呢,我来说一下我的理解,错误的地方希望大家指正。

    1. ASCII编码,它涵盖的字符最少也是最早的最简单的一种编码,转码后在计算机内存中单个字符以一个字节表示。

    2. GB2312编码,它兼容ASCII编码并涵盖了所有简体汉字,转码后在计算机内存中单个字符以两个字节表示。

    3. GBK编码,它兼容ASCII编码并在GB2312的基础上增加繁体汉字以及亚洲其他国家的文字比如日语、韩语,转码后在计算机内存中单个字符以两个字节表示。

    4. Unicode编码比较特殊,它涵盖了世界上几乎所有国家的文字并且兼容ASCII码,为所有涵盖的字符都定义了编码的表示方式,但它并没有规定这些编码在计算机内存里以什么规则存储,所以诞生了UTF-8,它规定了所有的Unicode编码使用动态长度,表示不同语言的不同码段使用不同的长度(1-8个字节)表示。

    总结一下,我认为Unicode是文字到到编码的转换规则,而UTF-8是编码到字节的转换规则,而其他的例如ASCII、GB2312、GBK则同时包含两种规则

    在一些社区论坛经常看到有关于“编码字符集”以及“字符集编码”的讨论,并且描述的比较复杂让人难以理解,我个人认为两种东西没有什么可比性。我认为“字符集编码”就是我们常说的字符集,例如U8、ASCII,它规定字符以何种规则编码,相当于制定了一个标准,而“编码字符集”则是指编写代码时基于哪种字符集对输入的文字进行编码转换。

    相关文章

      网友评论

          本文标题:Unicode与UTF-8之间的关联与差别

          本文链接:https://www.haomeiwen.com/subject/tkrnzftx.html