如何判断一个字节是否是一个汉字中的一部分

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 为三个字节

这样可以轻松判断出来是否是一组

猜你喜欢

转载自www.cnblogs.com/Mrycy/p/12013274.html