参考一段代码,不过好像是判断中文字符和英文字符:
char *hz="我是xy你是?";
CString str(hz);
CString s1;
int length=strlen(str);
for(int i=0;i<length;i++)
{
if(((unsigned char*) hz)[i]>0xa0) //如果是汉字
{
s1=str.Left(2);
str=str.Mid(2);
i+=1;
AfxMessageBox(s1);
}
else //非汉字
{
s1=str.Left(1);
str=str.Mid(1);
AfxMessageBox(s1);
}
}
char *hz="我是xy你是?";
CString str(hz);
CString s1;
int length=strlen(str);
for(int i=0;i<length;i++)
{
if(((unsigned char*) hz)[i]>0xa0) //如果是汉字
{
s1=str.Left(2);
str=str.Mid(2);
i+=1;
AfxMessageBox(s1);
}
else //非汉字
{
s1=str.Left(1);
str=str.Mid(1);
AfxMessageBox(s1);
}
}
原理应该差不多,明天再告诉你:)
char *yiwen = "abcd....xyz"
CString str(_T("你要判断的串"));
cmpstr yiwen and str.
哈哈!
是目前台湾、香港地区普遍使用的一种繁体汉字的编码标准,包括440个符号,一级汉字5401个、二级汉字7652个,共计13060个汉字。Big-5 是一个双字节编码方案,其第一字节的值在 16 进制的 A0~FE 之间,第二字节在 40~7E 和 A1~FE 之间。因此,其第一字节的最高位是 1,第二字节的最高位则可能是 1,也可能是 0。
· GBK编码(Chinese Internal Code Specification)
GBK编码(俗称大字符集)是中国大陆制订的、等同于UCS的新的中文编码扩展国家标准。GBK工作小组于1995年10月,同年12月完成GBK规范。该编码标准兼容GB2312,共收录汉字21003个、符号883个,并提供1894个造字码位,简、繁体字融于一库。Windows95/98简体中文版的字库表层编码就采用的是GBK,通过GBK与UCS之间一一对应的码表与底层字库联系。其第一字节的值在 16 进制的 81~FE 之间,第二字节在 40~FE,除去xx7F一线。