UTF-8,全称是8-bit unicode transformation format,应该是目前最流行的一种编码。
UTF-8是一种变长编码,一个字符占用1~6个字节,通常来说,汉字占有3个字节(虽然我没有找到反例,但是不建议直接这么定义“一个汉字=3个字节)
UTF-8向下兼容ASCII码
编码的方法如下
如上图
1. 如果第一个字节的第一个bit是0,表示这是一个ASCII码,一个直接就可以了
2. 如果第一个直接的前两个bit是11,代表这是一个字符的第一个Byte,然后从左向右,根据0出现的位置表示这个字符占有几个Byte
3. 如果一个Byte的开头是10,代表这不是第一个Byte。