UNICODE是万能编码,包含了所有符号的编码,它规定了所有符号在计算机底层的二进制的表示顺序。
在UTF-8编码中一个中文占三个字节
比如 汉字 "张" 对应的三字节编码是[229 188 160]
但是如何判断,229 188 160 是组合的呢,这里涉及到一套规则
UTF规定:
如果一个符号只占一个字节,那么这个8位字节的第一位就为0。
如果为两个字节,那么规定第一个字节的前两位都为1,然后第一个字节的第三位为0,第二个字节的前两位为10
然后如果是三个字节的话,那么第一个字节的前三位为111,第四位为0,剩余的两个字节的前两位都为10。
所以一个字节最大是 011111111 转换成十进制是 127 如果大于127则认为不止一个字节
两个字节最大数是 11011111 10111111 转成成十进制分别是223 和 191
两个字节最大数是 11101111 10111111 10111111 转成成十进制分别是239 和 191 和 191
这里设n为字节
n<128 则为1个字节
128<n<223为两个字节
223<n<239 为三个字节
这样可以轻松判断出来是否是一组
原文地址:https://www.cnblogs.com/Mrycy/p/12013274.html
时间: 2024-11-06 17:41:40