如何区分是汉字还是字母(1个字节和2个字节)?
因为我要将中文分成两部分打印,在取汉字和特殊符号会有时出现乱码(可能是因为汉字为两个字节而我取了前面一个字节,所以出现乱码,请问如何区分是汉字(2个字节)和
字母和数字(1个字节)?
问题点数:50、回复次数:7Top
1 楼telan()回复于 2000-04-11 10:03:00 得分 10
用用:
BOOL IsDBCSLeadByte(
BYTE TestChar // character to test
);
和
BOOL IsDBCSLeadByteEx(
UINT CodePage, // identifier of code page
BYTE TestChar // character to test
);Top
2 楼008()回复于 2000-04-11 11:11:00 得分 0
同意!Top
3 楼x86(大雪)回复于 2000-04-11 13:55:00 得分 10
一般来讲,汉字的两个字节都大于0xa0,你可以做如下判断:
如果一个字节大于0xa0,而其前后都小于0xa0,则此字节不属于汉字Top
4 楼hare()回复于 2000-04-11 16:24:00 得分 0
各位太虾,我用的是FOXPRO25/DOS呀,在帮我想想吧!Top
5 楼Un1()回复于 2000-04-11 17:29:00 得分 0
ASC码不行吗?所有ASC码不在0-255之间的暂且认为不是英文字Top
6 楼hare()回复于 2000-04-12 19:42:00 得分 0
在FORPRO25/DOS中ASC()只认一个字节呀,汉字不能识别的,
我现在急死了呀,帮帮我吧!
Top
7 楼neil(尼奥--系统资源严重不足,勿找Neil)回复于 2000-04-14 15:00:00 得分 30
给你代码,你按需修改一下就可以了
*---------判断字符串中是否含有高位字符含有汉字
*--入口:字符串
*--返回:.t. 为有汉字字符 .f. 为无汉字符
func SearchCH
para wk_str
noNull=alltrim(wk_str)
returnthis=.f.
for i=1 to len(noNull)
if asc(substr(noNull,i,1))<122
returnthis=.f.
else
returnthis=.t.
exit
endif
endfor
return returnthis Top
相关问题
- 如何在vb里获得字符串的字节数,要区分字母和汉字
- C#里面如何区分汉字和字母 ?
- 如何得到一个汉字+字母字符串的长度(字节个数)?
- 如何区分字符串是汉字还是字母或者数字??
- 如何控件TextBox文框里输入的是40(字节)不是字符/ 注:1个汉字=2个字节,1个字母(数字)=1个字节
- 一个字符串包含汉字和字母,如何取得其字节数长度?
- 如何获取一个包含了汉字,字母,标点符号的字符串的字节数,很多分
- 在一个英文字母和汉字混合的字符串中怎么区分出汉字和英文字符,有时会读出半个汉字?
- 汉字,字节。快快快!!
- 请问,MYSQL中 char(varchar) 字段大小是字节还是字?也就是说汉字和英文字母能存储的最大字数相同么?




