ASCII
ASCII(American Standard Code for Information Interchange),也称 ANSI
- 每个字符都对应唯一的一个数字,比如字符
A
对应的二进制数值是01000001
,对应的十进制就是65 - 最开始 ASCII 只定义了128个字符编码,包括96个文字和32个控制符号
EASCII ,在 ASCII 基础上的扩展(由原来的 7 位扩充到 8 位),它完全兼容 ASCII,额外包括表格符号、计算符号、希腊字母和特殊拉丁符号
GBK
GB2312 编码,又称 GB0,1981由中国国家标准总局发布
共收录了 6763 个汉字(兼容 ASCII 编码),满足了汉字的计算机处理需要(覆盖中国大陆99.75%的使用频率),但依然缺少一些罕见字
GBK 编码,在 GB2312 编码的基础上拓展。收录了 27484 个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字(兼容 ASCII 编码)。对于英文字符用1个字节来表示,汉字用两个字节来标识
Unicode
万国码,由统一联盟国际组织提出
Unicode 有两种格式:UCS-2 和 UCS-4
- UCS-2 是 16 bit 位,最多可以表示65536个字符(存在局限性)
- UCS-4 是 32 bit 位,理论上完全可以涵盖一切语言所用的符号
- UCS-4 实际上只用了 31 bit 位,最高位必须为 0
Unicode 编码包含了各个国家所需符号与二进制位之间的映射
Unicode 只是规定如何编码,并没有规定如何传输、保存这个编码
Unicode 编码有不同的实现方式,比如:UTF-8、UTF-16等。其中 UTF-8是 Unicode 的一种流行的存储实现方式,可根据不同的符号而变化字节长度,起到了节省空间的左右
UTF-8 在表示英文字符时,和 ASCII 一样只需要一个字节的空间