编码

聊聊一些编码

ASCII

使用1B表示一个字符

前128位包含了:

  • 大小写英文字母
  • 阿拉伯数字
  • 运算符,逻辑字符
  • 控制字符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)
  • 通信字符:SOH(文头)、EOT(文尾)、ACK(确认)

后128位是扩展ASCII字符

Unicode

国际标准化组织ISO定义的一套国际通用的编码

全世界所有民族地区的文字基本都在里面

最初Unicode一个字符占用2B,后来增长到3B

UTF-8

UTF-8不是一套编码,而是Unicode的一套压缩和解压缩的机制

一个字符占用1-4B

  • 对于ASCII中的字符,沿用其编码,占用1B
  • 对于Unicode中的字符,沿用, 占用2-3B
  • 其他,占用4B

GBK

GB==国标

  1. GB2312: 1980 年,收录了6763 个常用的汉字和字符
  2. GBK: 1995年,在GB2312上添加了一些简体字,繁体字,日朝中的汉字,共约2W字,完全兼容GB2312
  3. GB18030:分为2000版本和2005版本,在GBK上添加了少数民族字体,共约7W子