专做美容师招聘网站,六安网站建设,室内设计培训班多少钱,自己做网站网页文件在哪里unicode表示的字符范围是0x0000~0x10FFFF#xff0c;最多只需要有21位#xff0c;但是为了字节对齐#xff0c;所以最多需要32位(4字节) utf8/utf16/utf32都是表示unicode的一种编码方式。
utf8和utf16是变长编码#xff0c;utf32不变长。utf-8编码长度为1#xff0c;2最多只需要有21位但是为了字节对齐所以最多需要32位(4字节) utf8/utf16/utf32都是表示unicode的一种编码方式。
utf8和utf16是变长编码utf32不变长。utf-8编码长度为123或4字节utf16编码长度为2或4字节utf32编码长度恒4字节
utf8
单字节编码的情况 字节最高位以0开头剩下7位表示字符。字符范围0x00~0x7F (0-127)
双字节编码的情况 首字节以110开头第二个字节以10开头剩下的11位表示字符。字符范围128~2047
三字节编码的情况 首字节以1110开头第二第三字节都以10开头剩下16位表示字符。字符范围2048~65535
四字节编码的情况 首字节以11110开头第二第三第四字节都以10开头剩下的21位表示字符。字符范围65536~2097151
utf16
最少2字节所以无法兼容ASCILL
思路unicode码在0-0xFFFF的可以直接用2字节表示够了。但是因为unicode范围是0-0x10FFFF所以大于0xFFFF的部分再用2字节就不够了共有0x100000个需要用20位数字这部分考虑用4字节前2字节和后2字节各用10位
双字节编码的情况 双字节表示的值就等于unicode字符码值即表示字符0-0xFFFF(0-65535)
四字节编码情况 高2字节1101 10xx | xxxx xxxx编码后值区间就是D800~DBFF 低2字节1101 11xx | xxxx xxxx编码后值区间就是DC00~DFFF 字符范围65536-2097151 eg: 四个字节 DB 00 DC 00 就表示unicode值65536的字符
utf32
简单粗暴直接用4个字节表示unicode码值。直接存储Unicode编号。无需经过字符编号向字符编码的转换步骤提高效率用空间换时间。
utf8对比utf16