识别字符串中的中文字符

未经许可,禁止转载。
本文链接地址: https://www.annhe.net/article-86.html

做数字设计作业时遇到的问题:试尝试用C语言写一个获取字符串长度的子函数,要求能自动识别字符串中的字符是单字节字符还是双字节字符。(提示:字符串可能是中英文混合字符串)

 

0x80表示16进制数80,转换为十进制为128,转换为二进制为:10000000
(*str)与0x80进行&(位与)运算
按照汉字的高位为1的说法,所有高位不为1的字符和二进制10000000进行&运算后的结果都为0,即不为中文字符,相反,只要高位为1的字符,(*str)&0x80的结果都是128(10000000)


文章出自:知易行难 http://tecblog.sinaapp.com/
版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。



未经许可,禁止转载。
本文链接地址: https://www.annhe.net/article-86.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注