Unicode编码表: http://www.unicode.org
更多: https://www.qqxiuzi.cn/daohang.htm
Unicode编码范围从 0x00000000 至 0x7FFFFFFF ,也就是0~17777777777 ,
最多能表示170亿个字符.
单个字符 最低占用1个字节Byte,8位bit.
单个字符 最高占用6个字节Byte,48位bit.
但是有一种 多字节字符 ,把多个字符 通过 零宽度连接符 连接 表示成 1个字符
数量 | 字符 word | 字节 byte | 位 bit | 数字 |
1个Unicode字符所占用范围 | 1个 | 1~ 6 | 8 ~ 48 | 0~17777777777 |
16进制 Unicode符号范围 | 二进制 UTF-8 | 占用字节数 | 10进制 Unicode |
U-00000000 - U-0000007F | 0xxxxxxx | 1 | 0~177 |
U-00000080 - U-000007FF | 110xxxxx 10xxxxxx | 2 | 200~3777 |
U-00000800 - U-0000FFFF | 1110xxxx 10xxxxxx 10xxxxxx | 3 | 4000~177777 |
U-00010000 - U-001FFFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx | 4 | 200000~7777777 |
U-00200000 - U-03FFFFFF | 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx | 5 | 10000000~ 377777777 |
U-04000000 - U-7FFFFFFF | 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx | 6 | 400000000~17777777777 |
根据上表,解读UTF-8编码 如果一个字节的第一位是0,则这个字节单独就是一个字符 如果一个字节的第一位是1,则连续有多少个1,就表示当前字符占用多少个字节 实际将Unicode转换为UTF-8编码时应先去除高位0,然后根据所剩编码的位数决定所需最小的UTF-8编码位数。 |