计算机字符编码

76 阅读1分钟

计算机字符编码

学习计算机的你对“ASCII码”,“UTF-8”这类词眼一定并不陌生。我们知道它们是给计算机的字符做编码的表,它们有什么联系?

ASCII字符集共128个字符(0~127)

2023-12-16-18-45-53-image.png

随着计算机的普及,各国开始制作自家的编码表

2023-12-16-18-46-50-image.png 我国也不例外,1981年5月1日,发布“GB(国标)2312字符集”,共7445个字符。欸,很显然,一个byte不够用了,那就两个byte表示一个汉字吧

每个国家都搞一张表,这意味着在互联网上,你想看懂其他国家在说什么,还得下载他们的编码表解析一下,否则看到的就是乱码。

于是,国际组织提议,全世界共用一张表,把各国的字符都容纳进来。这张表叫做“Unicode编码表(字符集)”。其中,汉字在4E00-9FFF区间

Unicode只负责给字符编码,不负责具体怎么存储

具体的存储策略:

  • UTF-8:使用可变长度字节来存储Unicode字符
  • UTF-16:使用一个或两个未分配的16位代码单元的序列对Unicode代码点进行编码
  • UTF-32:将每个Unicode代码点表示为相同值的32位整数

最常用的UTF-8中:

  • 字母占1个字节
  • 中文占3个字节,不常用中文字符占4个