[会员中心]  [发布文章][发布软件]  [中文繁體] 
 文章·资料  电脑软件  手机软件  网站源码
   本 站 搜 索
[选项]
   推 荐 文 章       More...
华硕易电脑(ASUS Eee PC 1025C)驱动程序(Windows XP)安装参考(图) 华硕易电脑(ASUS Eee PC 1025C..
先来段开场白:为了外出携带方便..
Acronis True Image 使用说明 Acronis True Image 使用说明
  一款可以在Windows下使用..
Norton Ghost 使用详解 Norton Ghost 使用详解
一、分区备份   使用Ghost..
   阅 读 排 行
Windows 系统安装或备份时 ISO,GHO,WIM,ESD,PMF 都是什么文件类型 Windows 系统安装或备份时 ISO,GH..
【ISO 文件】 ISO 文件其实就..
使用“自动点击器”APP 在抖音直播间自动点赞 使用“自动点击器”APP 在抖音直..
看过抖音直播的朋友都知道,进入..
OPPO 手机的锁屏时间设置成横向显示 OPPO 手机的锁屏时间设置成横向..
第一次使用 OPPO 手机,桌面和锁..
电脑机箱(主板)前面板 USB 数据线的接线参考(图) 电脑机箱(主板)前面板 USB 数据..
  一、概述   因为每个 US..
抖音直播录屏的草稿保存位置 抖音直播录屏的草稿保存位置
抖音直播录屏,保存为“草稿”后,..
微信收到 flv 格式视频,如何播放? 微信收到 flv 格式视频,如何播放?
  微信上收到一个 flv 格式视频..
TrustAsia/DigiCert/Let s Encrypt 的免费 SSL 证书,多款网页浏览器都无法正常打开 TrustAsia/DigiCert/Let s Encryp..
云服务器安装了 Windows Server 2..
三星打印机(SCX-4521)提示“墨粉不足”设置 三星打印机(SCX-4521)提示“墨粉..
  三星打印机(SCX-4521)在添加..
文 章 信 息
BIG5到GB的转换技术
评论()][留言][收藏
[文章分类:电脑·手机·网络 / 电脑软件安装·卸载·设置][阅读选项
中文因为数量太多,所以与英文用ASCII码一个字节表示不同,它使用两个字节来
 
表示。通过计算这两个字节,我们可以得到其表示的汉字在中 
 文字库中的位置。读取该位置的若干字节,以获得表示这个汉字的点阵信息。有
 
了这些信息,就可以分别在DOS或WINDOWS中显示该汉字。事实上, 
 在文本文件中保存的就是每个汉字对应的两个字节编码,而显示问题由中文操作
 
系统自动解决。 
    汉字编码并不统一,我们使用的是GB码,而台湾地区使用的是BIG5码。BIG5
 
码文件中保存的是汉字相应的BIG5编码,GB码文件中保存的是汉字 
 相应的GB编码(这也就是“乱码现象”的来由)。所以转换工作的关键是有一个
 
记录每个BIG5编码对应GB编码的码表文件。 
 第一步 制作码表文件 
    BIG5码编码规则是这样的:每个汉字由两个字节构成,第一个字节的范围从
 
0X81-0XFE,共126种。第二个字节的范围分别为0X40-0X7E, 
 0XA1-0XFE,共157种。也就是说,利用这两个字节共可定义出 126 * 157=19
 
782种汉字。这些汉字的一部分是我们常用到的,如一、丁,这些字 
 我们称为常用字,其BIG5码的范围为0XA440-0XC671,共5401个。较不常用的字
 
,如滥、调,我们称为次常用字,范围为 0XC940-0XF9FE,共 
 7652个,剩下的便是一些特殊字符。 
    制作码表文件的原理是这样的:首先将所有的BIG5编码写入一个文件,然后
 
,使用具有BIG5码到GB码转换功能的软件,如地球村、东方快车、 
 四通利方,将文件转换为GB码文件,即得到码表文件。 
    下面的源程序将所有可能的BIG5编码(0XA100-0XFEFF)写入文件“Table.
 
TXT”。 
 //TURBO C++ 3.0 
 #include <Stdio.h> 
 #include <stdlib.h> 
 void main(){ 
 FILE * codefile; 
 int i,j,k; 
 codefile=fopen("table.txt","w+b"); 
 for (i=0xa1;i<=0xfe;I++){
for(j=0x00;j<=0xff;j++){
fwrite(& i,1,1,codefile);
fwrite(& j,1,1,codefile);}
}
fclose(codefile);
return;
}
运行地球村、东方快车或四通利方,将“Table.txt”从BIG5码转换为GB码,

即获得码表文件。
第二步 转换
下面的源程序,将BIG5码文件转换为GB码文件。
//TURBO C++3.0
#include <stdio.h> 
 #include <stdlib.h> 
 void main(){ 
 int que, wei; 
 FILE * sourcefile; 
 FILE * tabfile; 
 FILE * destfile; 
 sourcefile = fopen("big.txt', "r+b"); 
 //BIG5 码文件 
 tabfile = fopen("table.txt", 'r+b"); 
 //码表文件 
 destfile = fopen("gb.txt","w+b"); 
 //转换生成的GB码文件 
 while (!feof(sourcefile)){ 
 fread(& que,1,1,sourcefile); 
 if (feof(sourcefile)){ 
 break; } 
 if (que> =0xa1 && que <=0xfe)
//叛断是否汉字(BIG5编码)
{fread(& wei,1,1,sourcefile);
if (wei<0xa1) wei = wei - 0x40;
if (wei>=0xa1) wei = wei - 0xa1 + 0x7e - 0x40 + 1; 
 fseek(tabfile, 2 * ((que -0xa1) * (0xfe - 0xa1 + 1 + 0x7e - 0x40 + 1 
 
) + wei), SEEK_SET); 
 fread(& que,1,1,tabfile); 
 fread(& wei,1,1,tabfile); 
 fwrite(& que,1,1,destfile); 
 fwrite(& wei,1,1,destfile); 
 } 
 else 
 fwrite(& que,1,1,destfile); //处理英文 
 } 
 fclose(sourcefile); 
 fclose(tabfile); 
 fclose(destfile); 
 return; 
 } 

文章作者:未知  更新日期:2005-10-30
[文章浏览:][打印文章][发送文章
相关软件
·Visual Basic:GB码与BIG5码的相互转换 2005-07-07
·阿勇 GB/BIG5/UTF-8 文件编码转换 V1.32019-08-27
阅读说明
·本站大部分文章转载于网络,如有侵权请留言告知,本站即做删除处理。
·本站法律法规类文章转载自[中国政府网(www.org.cn)],相关法律法规如有修订,请浏览[中国政府网]网站。
·本站转载的文章,不为其有效性,实效性,安全性,可用性等做保证。
·如果有什么问题,或者意见建议,请联系[网站管理员]
  原“浪人文章”和“浪人下载”网站已合并为“老若尔文章软件站”,域名:https://lre.cn
  本站使用【啊估文章软件站】网站系统    网站管理员留言簿〗〖捐助     闽ICP备08009617号