UTF-8中文的起始字节的二进制形式为1110xxxx,其中x代表后面两个字节的值。

因此可以使用位运算来判断一个字节是否为UTF-8中文的起始字节:

unsigned char byte = /* 待判断的字节 */;
if ((byte & 0xE0) == 0xE0) {
    // 是UTF-8中文的起始字节
} else {
    // 不是UTF-8中文的起始字节
}

其中0xE0的二进制形式为11100000,按位与运算后,只有前三位匹配,即为UTF-8中文的起始字节。

C语言如何判断一个字节是不是utf8中文的起始字节

原文地址: https://www.cveoy.top/t/topic/bQCD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录