不管是多字节,还是UNICODE,一个字节一个字节去看最高的bit,是否为1, 为1 就是汉字。
如果是UNICODE,那么你可以拿出第一个字节,如果高位是1,那么接着拿下一个字节,这两个字节是一个汉字,如果是0, 那么这个字节的内容就是你要的字符,高字节可以忽略。
int main()
{
char szText[] = "我是CIW.";
char szChinese[3] = {0};
int i = 0, nLen = strlen(szText);
for(; i < nLen; i++)
{
if( szText[i] >= 0 && szText[i] <= 127 ) //不是全角字符?
printf("%c\n", szText[i]);
else //是全角字符
szChinese[0] = szText[i], szChinese[1] = szText[i + 1], printf("%s\n", szChinese), i++; //中文是2个字节,所以i++
}
return 0;
}
温馨提示:内容为网友见解,仅供参考