如何区别文本是BIG5还是GB?

2000年12月04日 10:50:00
关于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码。 
 
 


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=3201


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2002年写的一个共享软件,用到了actbar2.ocx,请自行下载或安装个actbar3来替换。 《内码转换精灵》2.0.0 测试版 软件使用说明 Convert Fairy 2.0.0 Bata 《内码转换精灵》是有其前身ConvFairy,内码转换控件演变而来。 其发行平台为:Windows98/Me/2000/XP。 内码转换精灵软件由张庆设计,软件作者保留所有的权利。 内码转换精灵软件的主要功能为: 1、内码转换。提供了GB码、Big5码、Gbk码、UniCode码间的相互转换功能,并提供Big5码到CNS的转换。 通过该软件可以批量的转换特定编码的文档。 支持的转换方式有以下14种: 1. GbToBig 将Gb2312码转换为Big5码 2. BigToGbBig5码转换为Big5码 3. GbkToBig 将Gbk码转换为Big5码 4. BigToGbkBig5码转换为Gbk码 5. UscToBig 将Unicode码转换为Big5码 6. BigToUsc 将Big5码转换为Unicode码 7. GbkToUsc 将Gbk吗转换为Unicode码 8. UscToGbk 将Unicode转换为Gbk码 9. GbkToUscWide 将Gbk码以全角形式转换为Unicode码(如有半角的英文字符,将先转换为全角) 10. UscToGbkNarrow 将Unicode码转换为Gbk码(半角的英文字符不会被转换) 11. UscToBigNarrow 将Unicode码转换为Big码(半角的英文字符不会被转换) 12. BigToUscWide 将Big码以全角的形式转换为Unicode码(如有半角的英文字符,将先转换为全角) 13. BigToCNS 将Big5码转换为CNS码(倚天码) 14. GbToBigToGbkGb2312先转换为Big5码,然后将转换的Big5转换为Gbk码 2、多转换方式。 支持剪贴板转换。将剪贴板的内容按指定的转换方式进行转换。(只支持剪贴板内容是文本的情况) 文件预览。将指定的文件以只读方式进行转换并显示。 文件批量转换。将选定的一个或多个源文件按指定的转换方式转换后保存在目标文件夹中。 版本更新说明: 1.0-1.31版本 名为ConvFairy,是一个多内码转换控件。 2.X版本 对Unicode,Gbk,Big,Gb2312码的转换算法做了大幅度修改,执行效率大大提高。 将其以应用程序的形式进行发布,适合更广大的用户群体。 使用许可协议: 《内码转换精灵》2.0.0 测试版 为免费版本,个人用户可免费使用,并任意分发,但当如果您需要将其用于商业 目的,必须事先通过张庆本人许可。请将使用情况电子邮件发送到[email protected] 对于使用《内码转换精灵》2.0.0 测试版的用户,而造成的任何损失,应由使用者自己承担风险。 软件作者张庆保留对使用许可协议的全部权利。 其他版本的使用许可协议请参考《内码转换精灵》软件许可协议。license.txt 版权所有 (C) 2002-2003 张庆

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值