utf-8

wiki UTF-8

编码方案

兼容ascii的部分0XXX XXXX。其他的字节都是以1开头,编码方案是6位截断编码。
类似这样110xxxxx 10xxxxxx1110xxxx 10xxxxxx 10xxxxxx,首字节开头连续n个1,表明字符总共的字节数。

utf-8_第1张图片

优点

  • 完美兼容ascii
  • 没有字节序的问题,不需要bom,可以直接用于传输、比较。
  • 可以快速定位一个字符的边界。
  • 节省空间。ascii字符只要一个字节。

缺点

  • 编码不唯一。一个码点,可以有多个编码对应。
  • 影响字符串处理速度。变长编码,造成计算长度,定位字符,正则匹配等效率不高。
  • 浪费空间。很多双字节码点,用utf-8会用3字节。

你可能感兴趣的:(utf-8)