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


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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM