精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● 软件开发>>软件体系结构及资料汇编>>转帖:关于GB—BIG5的判别

主题:转帖:关于GB—BIG5的判别
发信人: zelor()
整理人: zelor(2001-01-03 10:02:22), 站内信件


转自CSDN:

关于gb与big5码的判别,没有100%可靠的方法。但是从两个编码系统汉字的分布
来看,
还有可以作一定的判断的。 

gb码的编码范围是首字节a1-f7,尾字节a1-fe,而且首字节a1-a9是符号区,aa-
af这
一段没有定义。big5码的编码范围是首字节a1-f9,尾字节分两段,分别是40-7e

a1-fe,首字节a1-a3是符号区,a4-c5是常用汉字区。 

这样我们可以找到几个依据: 

1)尾字节40-7e是big5码特有的,可以以此来判别,但是现在gbk在这个码区也定
义了
字符,不过这些汉字的使用频度不高,所以仍然可以作为一条依据,但无法保证
100%
正确; 

2)首字节a4-a9在gb中为日文假名、希腊字母、俄文字母和制表符,正常文本中很

出现,aa-af则根本没有定义,但这个范围却是big5码的常用汉字,所以如果文本

频繁出现这个范围的码,也可以认为是big5码。尤其是首字节位于aa-af之间,尾

节位于a1-fe的,几乎100%是big5码无疑,因为即使在gbk中,这个范围也是没有

义的。 

为了提高识别的正确率,最好多种判据同时使用。另外还可以通过分析汉字出现
的频
率,或查找某些常用的词组来判别。因为做起来比较复杂,就不多说了。 

首字节c6-d7,尾字节a1-fe在gb中属于一级字库,是常用汉字,而在big5中,c6-
c7没
有明确定义,但通常用来放日文假名和序号,c8-d7属于罕用汉字区。所以如果这
个范
围的码出现较多,可以判别为gb码。 

--
生活,就是理想加泡面。
     
                    ——张作乐,送你一束玫瑰

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.71.146]

[关闭][返回]