您的位置:程序门 -> vc/mfc -> 基础类



请教一下怎么才能在unicode字符中判断里面的字是汉字


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请教一下怎么才能在unicode字符中判断里面的字是汉字[已结贴,结贴人:hopewzy1982]
发表于:2007-04-11 17:05:44 楼主
wchar_t* szbuff;
    .....
我的   szbuff从文件中读取了字符后,要怎么才能判断里面的每一个字符是汉字还是非汉字的呀,unicode中汉字的范围是多少呀,请教一下各位高手,谢谢了呀
发表于:2007-04-11 17:15:261楼 得分:5
中日韩文字在一张表里,你无法判断是汉字还是日本文字.

http://www.chi2ko.com/tool/cjk.htm可以看一下
发表于:2007-04-11 17:17:112楼 得分:0
> 127
发表于:2007-04-11 17:44:213楼 得分:0
请问什么值大于127,其实是我想从一个纯unicode符的文件中取出里面的内容,然后转变成多字符集存放在另一个文件中,其中的"汉字"要变成gb的,其它的变成 "s-jis "我现在只能把它们变成纯s-jis或gb
发表于:2007-04-11 17:50:114楼 得分:5
http://community.csdn.net/expert/topic/5453/5453933.xml?temp=.2129938
发表于:2007-04-11 20:28:055楼 得分:0
如果是ansi,有个函数可以判断;
如果是unicode,非汉字后一个字节是0;
用ultraedit打开看。

说错了请楼下更正。:)
发表于:2007-04-11 20:28:296楼 得分:5
unicode   字符由两个字节组成,如果是标准的ansi字符,高位字节就为0,低位字节为对应的字符编码.也就是说实际上它只用到了一个字节;

而如果是汉字的话,则两个字节都给使用了,并且每个字节中的值都会> 127;
所以,对于如何判断所输入的是不是汉字,可以根据查看高位字节来确定,如果高位字节为00则不是,如果高位字节> 127则是汉字.

我就是用这个方法来确定的,不过没有根据,有更好的方法的话,告诉我一下.
发表于:2007-04-11 20:30:177楼 得分:0
或者把每个unicode字符强制转换成short类型,汉字一定大于255.
发表于:2007-04-11 20:47:388楼 得分:5
中日韩等东亚文字的unicode编码都大于255.
我记得每个语言的unicdoe编码对应了一个范围,只要判断是否在这个范围就可以了.
具体上网搜一下吧.
发表于:2007-04-12 13:47:129楼 得分:0
我在网上看到有下面的资料:
  因为fontrouter新版本开发的需要,在网上搜索了一下汉字的unicode范围,普遍给出了“u+4e00..u+9fa5”。但事实上这个范围是不完整的,甚至连基本的全角(中文)标点也未包含在内。为此,我特地查询了unicode官方的code   charts数据库,并根据最新的unicode   5.0版整理如下:

注:在绝大多数应用场合中,我们可以仅用(1)、(2)、(3)、(4)的集合作为cjk判断的依据。

1)标准cjk文字
http://www.unicode.org/public/unidata/unihan.html

code   point   range       block   name     release  
u+3400..u+4db5           cjk   unified   ideographs   extension   a   3.0  
u+4e00..u+9fa5           cjk   unified   ideographs   1.1  
u+9fa6..u+9fbb           cjk   unified   ideographs     4.1  
u+f900..u+fa2d           cjk   compatibility   ideographs   1.1  
u+fa30..u+fa6a           cjk   compatibility   ideographs   3.2  
u+fa70..u+fad9           cjk   compatibility   ideographs   4.1  
u+20000..u+2a6d6       cjk   unified   ideographs   extension   b   3.1  
u+2f800..u+2fa1d       cjk   compatibility   supplement   3.1  

2)全角ascii、全角中英文标点、半宽片假名、半宽平假名、半宽韩文字母:ff00-ffef
http://www.unicode.org/charts/pdf/uff00.pdf

3)cjk部首补充:2e80-2eff
http://www.unicode.org/charts/pdf/u2e80.pdf

4)cjk笔划:31c0-31ef
http://www.unicode.org/charts/pdf/u31c0.pdf

5)康熙部首:2f00-2fdf
http://www.unicode.org/charts/pdf/u2f00.pdf

6)汉字结构描述字符:2ff0-2fff
http://www.unicode.org/charts/pdf/u2ff0.pdf

7)注音符号:3100-312f
http://www.unicode.org/charts/pdf/u3100.pdf

8)注音符号(闽南语、客家语扩展):31a0-31bf
http://www.unicode.org/charts/pdf/u31a0.pdf

9)日文平假名:3040-309f
http://www.unicode.org/charts/pdf/u3040.pdf

10)日文片假名:30a0-30ff
http://www.unicode.org/charts/pdf/u30a0.pdf

11)日文片假名拼音扩展:31f0-31ff
http://www.unicode.org/charts/pdf/u31f0.pdf

12)韩文拼音:ac00-d7af
http://www.unicode.org/charts/pdf/uac00.pdf

13)韩文字母:1100-11ff
http://www.unicode.org/charts/pdf/u1100.pdf

14)韩文兼容字母:3130-318f
http://www.unicode.org/charts/pdf/u3130.pdf

15)太玄经符号:1d300-1d35f
http://www.unicode.org/charts/pdf/u1d300.pdf

16)易经六十四卦象:4dc0-4dff
http://www.unicode.org/charts/pdf/u4dc0.pdf

17)彝文音节:a000-a48f
http://www.unicode.org/charts/pdf/ua000.pdf

18)彝文部首:a490-a4cf
http://www.unicode.org/charts/pdf/ua490.pdf

19)盲文符号:2800-28ff
http://www.unicode.org/charts/pdf/u2800.pdf

20)cjk字母及月份:3200-32ff
http://www.unicode.org/charts/pdf/u3200.pdf

21)cjk特殊符号(日期合并):3300-33ff
http://www.unicode.org/charts/pdf/u3300.pdf

22)装饰符号(非cjk专用):2700-27bf
http://www.unicode.org/charts/pdf/u2700.pdf

23)杂项符号(非cjk专用):2600-26ff
http://www.unicode.org/charts/pdf/u2600.pdf

但我还想请教一下,1)里面的 "u+3400 ", "u+2a6d6 "中的 "u+ "和 "u+2 "指的是什么呀
发表于:2007-04-12 13:55:0010楼 得分:0
u+3400就是16进制数3400,   u+2a6d6就是16进制数2a6d6,明白?
发表于:2007-04-12 13:56:1411楼 得分:0
顶,我最近在做一个程序,里面也要识别输入的,长见识
发表于:2007-04-12 16:14:1012楼 得分:0
明白了,谢谢了呀
发表于:2007-04-12 19:18:4613楼 得分:0
唉,是我说错了,我是想把简体汉字给区分出来,不知道大家只不知道范围
发表于:2007-04-12 21:04:0214楼 得分:5
这个容易啊,你可以先把unicode码转换成gb2312,然后在gb2312里面判断,这样就解决了啊
发表于:2007-04-13 09:31:5215楼 得分:0
但我是要把unicode里的简体汉字转换成gb,日语里的汉字转换成jis呀,而且是jis的文字占大部份,我还想请教一下jis的范围呀
发表于:2007-04-13 11:19:2716楼 得分:5
中日都是交杂在一起的,有的是相同的


快速检索

最新资讯
热门点击