编码方案
兼容ascii的部分0XXX XXXX
。其他的字节都是以1开头,编码方案是6位截断编码。
类似这样110xxxxx 10xxxxxx
和1110xxxx 10xxxxxx 10xxxxxx
,首字节开头连续n个1,表明字符总共的字节数。
优点
- 完美兼容ascii
- 没有字节序的问题,不需要bom,可以直接用于传输、比较。
- 可以快速定位一个字符的边界。
- 节省空间。ascii字符只要一个字节。
缺点
- 编码不唯一。一个码点,可以有多个编码对应。
- 影响字符串处理速度。变长编码,造成计算长度,定位字符,正则匹配等效率不高。
- 浪费空间。很多双字节码点,用utf-8会用3字节。