ASCII, Unicode 与 UTF-8

Posted freshair_cnblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASCII, Unicode 与 UTF-8相关的知识,希望对你有一定的参考价值。

1,ASCII

由于计算机是美国人发明的,最早只有127个字符,即大小写英文字母、数字、一些符号,被编码到计算机里,这个编码表就是ASCII表。这时每个字符用1 Byte表示。

2,Unicode

当其他语言也需要在计算机上表示时,1 Byte显然不够,这时Unicode出现了。Unicode试图把所有语言统一到一套编码,它与ASCII的区别是:ASCII用1 Byte表示字符;Unicode通常用2 Bytes,极端情况下用4~6 Bytes。ASCII扩展到Unicode也很简单,在前面补0即可。

3,UTF-8

Unicode的一个问题是效率,如果全篇文本都是英文,那么与ASCII相比Unicode占用的空间至少多了一倍。这时候又出现了把Unicode转化为“可变长编码”的做法,这就是UTF-8。UTF-8把一个Unicode根据不同数字大小编码成1~6 Bytes,常用英文字母1 Byte,汉字通常是3 Bytes,只有很偏僻的字符才会编码成4~6 Bytes。

4,在计算机中的使用

在计算机内存,统一使用Unicode编码,当需要保存到硬盘或者需要传输时,转换成UTF-8。

例如,用记事本编辑文本时,

技术分享图片

文件存在硬盘中,是UTF-8编码;用记事本打开文件,先转换成Unicode送到内存。

又例如,浏览网页时,

技术分享图片

上述内容来自 廖雪峰。

以上是关于ASCII, Unicode 与 UTF-8的主要内容,如果未能解决你的问题,请参考以下文章

Unicode和其他编码兼容性

js怎么将unicode编码转换成ascii码

关于unicode和ascii的区别

汉字编码与ASCII编码有何区别

字符集 ASCII 与 Unicode

windows 编程 —— 宽字符集 与 Unicode