字节数
编码 | 英文 | 中文 |
---|---|---|
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 |
发展史
- ASCII [0 - 7位] 128个字符
- 欧洲 256位
- GB2312 65536个汉字字符
- unicode 100W
- 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