如何在一个字符串中区分简体GB2312的汉字和繁体BIG5的汉字?
假设有一个字符串,其中既有简体GB2312的汉字,也有繁体BIG5的汉字,
我怎么分析得到哪些是简体GB2312的汉字,哪些是繁体BIG5的汉字?
问题点数:20、回复次数:7Top
1 楼Snow_Ice11111(雪上加冰)回复于 2006-03-09 10:09:01 得分 20
看每个字的GB2312码,简体字好象都是连在一起的。Top
2 楼djfu(飞龙在天)回复于 2006-03-09 12:39:50 得分 0
具体有什么方法?哪里有可用代码?Top
3 楼Snow_Ice11111(雪上加冰)回复于 2006-03-09 14:21:36 得分 0
简体汉字的GB2312码是从0xb0a1 ~ 0xd7f9 (为简体标准汉字从“啊”~“座”)。Top
4 楼djfu(飞龙在天)回复于 2006-03-10 09:57:15 得分 0
那我请问一下繁体字的编码的起止编码号是多少?Top
5 楼Snow_Ice11111(雪上加冰)回复于 2006-03-10 10:39:36 得分 0
这个就没有仔细研究过,只能帮顶一下了,同楼主一起期待楼下的朋友的见解!Top
6 楼djfu(飞龙在天)回复于 2006-03-10 14:56:26 得分 0
Snow_Ice11111(雪上加冰) :
我试了你的那几个编码,结果判断不准确啊,
我写了几个繁体BIG5的汉字,然后测试其编码,结果发现判断错误。
比如: 0xC0F4,这是“军”的BIG5编码,但是这个编码不应该在你上面说的简体编码
范围之内的:0xb0a1 ~ 0xd7f9
能否给我介绍一些相关编码的网页?
Top
7 楼Snow_Ice11111(雪上加冰)回复于 2006-03-10 16:05:49 得分 0
http://tb.blog.csdn.net/TrackBack.aspx?PostId=598804
上面说到这个:
由于历史的原因,在Unicode之前,一共存在过3套中文编码标准。
GB2312-80,是中国大陆使用的国家标准,其中一共编码了6763个常用简体汉字。Big5,是台湾使用的编码标准,编码了台湾使用的繁体汉字,大概有8千多个。HKSCS,是中国香港使用的编码标准,字体也是繁体,但跟Big5有所不同。
这3套编码标准都采用了两个扩展ASCII的方法,因此,几套编码互不兼容,而且编码区间也各有不同
看来从GB2312码判断是不可能的,因为既然不互相兼容,就意味着有重合的。只能考虑unicode。Top




