• 6398阅读
  • 0回复

【转载】常见的三种中文内码转换代码 [复制链接]

上一主题 下一主题
离线fanyu
 
只看楼主 倒序阅读 楼主  发表于: 2005-12-28
文档标题:常见的三种中文内码转换代码  作者: ccrun

关 键 字:中文内码,GB2312,GBK,BIG5,简体中文,繁体中文,MultiByteToWideChar,WideCharToMultiByte,ccrun

本文转自 C++Builder 研究 - http://www.ccrun.com/article/go.asp?i=634&d=04g63p


常见的中文内码一般有GB2312(简体中文),GBK和台湾那边用的BIG5(繁体中文),有时候看一些台湾编程论坛里的资料,都是乱码,如果在IE中浏览,则要求安装繁体字库的支持。网上也有很多中文内码的转换工具,什么专家,大师,巨匠之类所有光辉灿烂的名字都被使用了,但是在自己的程序中集成这些功能岂不是更好。以前曾广泛流传过使用码表来转换中文内码的Code,但毕竟不完美,而且还要携带或内置一个巨大的表,浪费资源。Windows中提供了MultiByteToWideChar和WideCharToMultiByte两兄弟函数,足可以搞定这些功能了。在我以前写的一个小工具InfoCode里曾用到过类似代码。

以下代码经过ccrun(老妖)收集整理调试编译测试安装售后升级除错打包发行(现在都流行吹牛,我也时髦一下吧,此处省略废话4000余字。。。),呵呵。虽然今天仓促发到偶的站上,也许明天就被别人以迅雷不及掩耳盗铃之势转载并署上自己名字并冠之以xxx超级无敌大无畏神六级别中文内码转换工具到处招摇撞骗了。

以下四个函数分别实现:
大五码转GBK码/GBK转大五码
GB2312码转GBK码/GBK码转GB2312码
于是有人要问了,为什么没有GB2312转BIG5和BIG5转GB2312呢,我们有GBK,可以做一下中转啊。可以将GB2312转成GBK,再将GBK转成BIG5,反之亦然。如果你嫌麻烦,可以自己写一个GB2BIG5/BIG52GB,并且欢迎你将你的代码给我一份:info@ccrun.com
//---------------------------------------------------------------------------
// 大五码转GBK码:
// い地
快速回复
限100 字节
 
上一个 下一个