在C语言中,可以使用Unicode编码来判断一个字符是否为中文字符。Unicode编码中,中文字符的范围为0x4E00~0x9FA5。可以使用以下代码来判断一个字符是否为中文字符: #include<stdio.h>intisChineseChar(charc){unsignedintunicode = (unsignedint)c;if(unicode >=0x4E00&& unicode <=0x9FA5) {return1; }return0; }int...
C判断中文字符的八种方法
判断输入的是中文还是英文很简单:1、首先,要确认数据类型是字符型。2、英文或一些特殊字符的ASCII码小于0x7f。3、中文是以区位码形式出现的,ASCII码大于0xa0。比如:include <stdio.h> include<string.h> int main(){ char* ss="hello世界";int i;while(*str){ if((unsigned)*str>=161) {...
先用 mbstowcs函数转成Unicode的,然后判断这个字符是否为汉字,Unicode中文部分的范围可以查这里:中文字符...
如果是UTF-8格式的一般为纯中文
那么,为了在机器内部区分ASCII码和汉字机内码,就规定汉字的两个字节的最高为都为1.例如:汉字“啊”的汉字机内码为B0A1H 表示成双字节是这样的10110000 10100001 本程序用的就是判断最高位的方法。int is_zh_ch(char p){ if(~(p >> 8) == 0) 将p字节进行移位运算,右移8位,这样,...
其实判断汉字的代码很简单,简单到只有一行就可以了,但不理解汉字编码的基础,这一行代码却万万无法理解。 常用的字符编码有以下三种: 1、ASCII 只支持英文,全部为8位 2、DBCS 支持英文和中文,但中文需要两个字节(16位) 3、UNICODE 支持英文和中文,英文和中文都需要两个字节 ...
C语言判断字符是否中文方法之一 把字符当做char处理, 如果是标准的ASCII字符的话,字符为整数, 如果是中文的话,字符的第一个字节一定是负数.
主要是将oc字符串转成c的字符串(char*),然后判断c的字符串的长度,因为中文字符占得长度是英文字符的两倍。 //判断一个字符书不是中文。 -(BOOL)isChinese:(NSString*)c{ int strlength = 0; char* p = (char*)[ccStringUsingEncoding:NSUnicodeStringEncoding]; ...
中文字符实际上是占两个字节,并且第一个字节的最高位为1的,所以每一个汉字都可以使用长度为3的字符数组进行存储,比较时按照字符串进行比较就可以了,可以使用strcmp进行比较,如strcmp(str, "是")==0,其中str是存储汉字的字符数组。