Unicode符号范围 (一个字符两个字节) | UTF-8编码方式
(十六进制) | (二进制)
—————————————————————–
这儿有四个字节
从-----00 00 00 00---到----00 00 00 7F | 0xxxxxxx 一个字符需要一个字节
从-----00 00 00 80---到----00 00 07 FF | 110xxxxx 10xxxxxx 一个字符需要两个字节
从-----00 00 08 00---到----00 00 FF FF | 1110xxxx 10xxxxxx 10xxxxxx 一个字符需要三个字节
从-----00 01 00 00---到----00 10 FF FF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 一个字符需要四个字节
class="language-text">I 0049
t 0074
' 0027
s 0073
0020
知 77e5
乎 4e4e
日 65e5
报 62a5
每一个字符对应一个十六进制数字。I 00000000 01001001
t 00000000 01110100
' 00000000 00100111
s 00000000 01110011
00000000 00100000
知 01110111 11100101
乎 01001110 01001110
日 01100101 11100101
报 01100010 10100101
这个字符串总共占用了18个字节,但是对比中英文的二进制码,可以发现,英文前9位都是0!浪费啊,浪费硬盘,浪费流量。I 01001001
t 01110100
' 00100111
s 01110011
00100000
知 11100111 10011111 10100101
乎 11100100 10111001 10001110
日 11100110 10010111 10100101
报 11100110 10001010 10100101
和上边的方案对比一下,英文短了,每个中文字符却多用了一个字节。但是整个字符串只用了17个字节,比上边的18个短了一点点。