Unicode与UTF-8

2018-11-12  本文已影响0人  CasperWnb

UTF-8规则:

1. 对于单字节的符号, 字节的第一位设为0, 后面7位为这个符号的Unicode码, 因此utf-8的前128个字符与

  ASCII兼容.

2. 对于n字节的符号(n > 1), 第一个字节的前n位都是1, 第n+1位为0, 后面字节的前两位一律设置为10.

  剩下的二进制位为这个符号的unicode码.

UTF-8的编码范围:

|Unicode符号范围(16进制) | UTF-8编码方式 (二进制) |

|-------------------------|:-------------------------------------|

| 0000 0000 - 0000 007F  | 0xxxxxxx                            |

| 0000 0080 - 0000 07FF  | 110xxxxx 10xxxxxx                  |

| 0000 0800 - 0000 FFFF  | 1110xxxx 10xxxxxx 10xxxxxx          |

| 0001 0000 - 0010 FFFF  | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |

以"严"为例: 其Unicode是4E25, 位于0x0800-0xFFFF之间, 因此严的UTF-8编码需要3个字节, 从严的最后一个

二进制位开始, 依次从后向前填入格式的x中, 多出的位补0, 这样就得到了严的UTF-8编码. 其16进制就是:

E4B8A5.

上一篇 下一篇

猜你喜欢

热点阅读