码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-12-09 21:33:00      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:最大   十进制   如何   规则   包含   进制   有符号   符号   转换   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!