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

Posted mrycy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断一个字节是否是一个汉字中的一部分相关的知识,希望对你有一定的参考价值。

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

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

以上是关于如何判断一个字节是否是一个汉字中的一部分的主要内容,如果未能解决你的问题,请参考以下文章

Excel-判断一个文本字符串中是否包含数字! 判断一个文本字符串是否是纯汉字!

在mfc中如何判断输入的是不是为汉字?

Delphi 判断是不是汉字

C语言判断汉字

c语言如何判断输入的字符串是不是有汉字

用vc++如何判断一个字符串是不是是汉字?