字节数

编码 英文 中文
GB2312 1 2
GBK 1 2
GB18030 1 2
ISO-8859-1 1 1
UTF-8 1 3
UTF-16 4 4
UTF-16BE 2 2
UTF-16LE 2 2

发展史

  1. ASCII [0 - 7位] 128个字符
  2. 欧洲 256位
  3. GB2312 65536个汉字字符
  4. unicode 100W
  5. UTF

中文汉字在utf-8中到底占几个字节,一般是3个字节,最常见的编码方式是1110xxxx 10xxxxxx 10xxxxxx

unicode 定义了所有符号的二进制形式,每个符号使用两个字节表示,16位二进制表示一个符号

  • 解决 Unicode 下的 ANSI 符号的空间浪费和网络传输下如何截取字符?

UTF-8 规定:如果一个符号只占一个字节,那么这个8位字节的第一位就为0。如果为两个字节,那么规定第一个字节的前两位都为1,然后第一个字节的第三位为0,第二个字节的前两位为10,然后如果是三个字节的话,那么第一个字节的前三位为111,第四位为0,剩余的两个字节的前两位都为10。

1字节:0xxx xxxx
2字节:110x xxxx 10xx xxxx
3字节:1110 xxxx 10xx xxxx 10xx xxxx