Unicode与UTF-8转换

单个unicode字符编码之后的最大长度为6个字节。

  • 1个字节:Unicode码为0 - 127
  • 2个字节:Unicode码为128 - 2047
  • 3个字节:Unicode码为2048 - 0xFFFF
  • 4个字节:Unicode码为65536 - 0x1FFFFF
  • 5个字节:Unicode码为0x200000 - 0x3FFFFFF
  • 6个字节:Unicode码为0x4000000 - 0x7FFFFFFF
UTF-8的编码规则很简单, 只有两条:
1·对于单字节的符号, 字节的第一位设为0, 后面7位为这个符号的unicode码. 因此对于
   英语字母, UTF-8编码和ASCII码是相同的.
对于n字节的符号 (n>1) , 第一个字节的前n位都设为1, 第n+1位设为0, 后面字节的前

   两位一律设为10. 剩下的没有提及的二进制位, 全部为这个符号的unicode码.

  1.    |  Unicode符号范围      |  UTF-8编码方式  
  2.  n |  (十六进制)           | (二进制)  
  3. ---+-----------------------+------------------------------------------------------  
  4.  1 | 0000 0000 - 0000 007F | 0xxxxxxx  (1个字符)
  5.  2 | 0000 0080 - 0000 07FF | 110xxxxx 10xxxxxx  (2个字符)
  6.  3 | 0000 0800 - 0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx  (3个字符)
  7.  4 | 0001 0000 - 0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx  (4个字符)
  8.  5 | 0020 0000 - 03FF FFFF | 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx  (5个字符)
  9.  6 | 0400 0000 - 7FFF FFFF | 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx  (6个字符)

猜你喜欢

转载自blog.csdn.net/qq_35307209/article/details/80272855