为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

BIG5码转换为GB2312码的方法

2017-10-19 4页 doc 16KB 96阅读

用户头像

is_637320

暂无简介

举报
BIG5码转换为GB2312码的方法BIG5码转换为GB2312码的方法 [cpp] view plaincopy 繁体字一般都使用BIG5编码,而简体中文一般都使用GB2312编码,要将BIG5编码的繁体字转换为GB2312编码的简体字时,就要经过一步转换过程,过程如下 1、生成常用繁体字的BIG5码表,用如下c代码可生成BIG5码表文件 [cpp] view plaincopy #include #include int main(){ FILE * codefile; int i, j; codefile = fopen("tab...
BIG5码转换为GB2312码的方法
BIG5码转换为GB2312码的方法 [cpp] view plaincopy 繁体字一般都使用BIG5编码,而简体中文一般都使用GB2312编码,要将BIG5编码的繁体字转换为GB2312编码的简体字时,就要经过一步转换过程,过程如下 1、生成常用繁体字的BIG5码表,用如下c代码可生成BIG5码表文件 [cpp] view plaincopy #include #include int main(){ FILE * codefile; int i, j; codefile = fopen("table.txt", "w+b"); for (i=0xa1; i <= 0xf9; i++){ for(j = 0x40; j <= 0x7e; j++){ fwrite(&i, 1, 1, codefile); fwrite(&j, 1, 1, codefile); } for(j = 0xa1; j <= 0xfe; j++){ fwrite(&i, 1, 1, codefile); fwrite(&j, 1, 1, codefile); } } fclose(codefile); return 0; } 生成的文件保存在table.txt文件中 2、将生成的文件用内码转换精灵工具转换为相应的GB2312码表文件, 这个文件用于后续的查表 3、编写代码读取文件中的BIG5码,然后根据步骤2中转换得到的码表文件进行查找得到相应繁体的简体GB2312码,执行转换功能的c代码如下: [cpp] view plaincopy #include #include int main(){ int que, wei; FILE *sourcefile; 灵域www.uy0.net FILE *tabfile; FILE *destfile; //BIG5 码文件 sourcefile = fopen("big.txt", "r+b"); //码表文件 tabfile = fopen("table_BIG2GB.txt", "r+b"); //转换生成的GB码文件 destfile = fopen("gb.txt","w+b"); while (!feof(sourcefile)){ fread(&que, 1, 1, sourcefile); printf("que=0x%x\n", que); if (feof(sourcefile)){ break; } if (que >= 0xa1 && que <=0xfe) { //叛断是否汉字(BIG5编码) fread(&wei, 1, 1, sourcefile); printf("wei=0x%x\n", wei); 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); printf("after convert, que=0x%x\n", que); fwrite(&wei, 1, 1, destfile); printf("after convert, wei=0x%x\n", wei); } else { fwrite(&que, 1, 1, destfile); //处理英文 } } fclose(sourcefile); 灵域www.uy0.net fclose(tabfile); fclose(destfile); return 0; } 4、测试,使用notepad++文本编辑工具编辑几个繁体字,并使其编码为BIG5,该工具有这个功能,并将文件命名为big.txt。内码转换精灵转换得到的码表文件 命名为table_BIG2GB.txt,然后使用步骤3中的代码进行转换,即可得到big.txt文件中繁体字的相应简体 本代码已经经过验证 灵域www.uy0.net
/
本文档为【BIG5码转换为GB2312码的方法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索