头图

编码的重要作用

计算机只能处理数字,如果想让计算机处理人类语言,则需要将字符转换为数字,而计算机编码就是将字符转换为数字的过程。

编码还可以用于压缩数据,以便更有效地存储和传输数据。

常见的编码方式

ASCII 码

ASCII 码,可以表示 128 个字符,用一个字节的低 7 位表示,0 ~ 31 是控制字符,比如 换行、回车、删除 等;32~126 是打印字符,可以通过键盘输入并且能够显示出来。

ISO-8859-1

128 个字符显然是不够用的,于是 ISO 组织在 ASCII 码基础上又制定了一些列标准用来扩展 ASCII 编码,它们是 ISO-8859-1 ~ ISO-8859-15,其中 ISO-8859-1 涵盖了大多数西欧语言字符,所以应用的最广泛。ISO-8859-1 仍然是单字节编码,它总共能表示 256 个字符。

GB2312

全称是《信息交换用汉字编码字符集 基本集》,它是双字节编码,总的编码范围是 A1-F7,其中从 A1-A9 是符号区,总共包含 682 个符号,从 B0-F7 是汉字区,包含 6763 个汉字。

GBK

全称是《汉字内码扩展规范》,是国家技术监督局为 windows95 所制定的新的汉字内码规范,它的出现是为了扩展 GB2312,加入更多的汉字,它的编码范围是 8140~FEFE(去掉 XX7F)总共有 23940 个码位,它能表示 21003 个汉字。

GBK 兼容 GB2312,也就是说用 GB2312 编码的汉字可以用 GBK 来解码,并且不会有乱码。

GB18030

全称是《信息交换用汉字编码字符集》,是我国的强制标准,它可能是单字节、双字节或者四字节编码。

虽然是国家标准,但是实际应用系统中使用的并不广泛。

GB18030 兼容 GB2312。

UTF-16

说到 UTF 必须要提到 Unicode(Universal Code 统一码),ISO 试图想创建一个全新的超语言字典,世界上所有的语言都可以通过这本字典来相互翻译。Unicode 可以表达的字符非常多,需要用多个字节来存储。

UTF-16 意味着用两个字节来表示 Unicode 字符,两个字节是 16 个 bit,所以叫 UTF-16。

UTF-8

有很大一部分字符用一个字节就可以表示,UTF-16 统一采用两个字节表示一个字符,存储空间放大了一倍,造成浪费。UTF-8 采用了一种变长技术,每个编码区域有不同的字码长度,不同类型的字符可以是由 1~6 个字节组成。

交流学习

如果有疑问或想和我交流,欢迎扫描下方二维码

wechat (3).jpeg

更多与编码技术相关的博文:编码与解码 - 腐蚀脚本

转载声明:本文允许转载,原文链接:认识 ASCII 编码 - 腐蚀脚本


参考:
https://www.cnblogs.com/codeXi/p/12243990.html


已注销
1 声望2 粉丝