1.引言到文件*/文字编码是给文字编制二进制存储代码的技术,编码方案FILE*fp=fopen(filename,"wb");有很多种,在显示字符时如果采用了不正确的编码标准,就会unsignedinthigh,low,i;//N=5出现乱码。本文研究文本的转换技术在国内可查到的期刊论文unsignedintstar[tN]={0xB0A1,0x8140,0xAA40,0xA1A1,数量较少[1][2],而该技术可以为嵌入式平台字符显示提供必要的0xA840};参考。本文首先分析常用汉字编码标准,然后实现GBK到U-unsignedintend[N]={0xF7FE,0xA0FE,0xFEA0,0xA9FE,nicode的转换。0xA9A0};2.常见汉字编码标准for(i=0;i>8)&0xFF);high>8)GB18030、Unicode、ISO/IEC10646等[3][4]。GB2312是1980年由国&0xFF);high++)家标准总局发布,收录了6763个汉字和682个全角中文字符。for(low=(start[i]&0xFF);low>8)&0xFF);high>8)许多网站提供这种转换表[6],但这里我们借助记事本程序&0xFF);high++)来获取转换表:(1)输出所有的GBK的有效码字到一个文本文for(low=(start[i]&0xFF);low<=(end[i]&0xFF);件,有效码字通过分析二进制代码或查阅相关资料[7]得到。(2)low++){打开该记事本文件并将其重命名后,另存为Unicode编码格式col=fgetc(fp);row=fgetc(fp);的文本文件。(3)读取Unicode编码文件,生成映射表。gbk2unicode[high][low]=(row<<8)|col;typedefunsignedintCodeTableType[256][256];unicode2gbk[row][col]=(high<<8)|low;}voidWriteGBK(charfilename[]){/*写入GBK编码字符集fclose(fp);

}3.2将文件由GBK编码转换成Unicode编码基本思想是写入Unicode编码文件时先写入文件头标记0xFFFE。读取GBK编码文件的一个字节,如果该字节的值小于128,则为西文字符,需要在ASCII码基础上,增加一个二进制值为0的字节。比如30H,将转换成0030H。否则为中文字符,进行双字节编码映射,存储顺序需要改变。效果如图1所示。voidConvert2Unicode(charinfile[],charoutfile[],CodeTableTypegbk2unicode){FILE*in=fopen(infile,"rb"),*out=fopen(outfile,"wb");/*将文档GBK转成Unicode*/unsignedintrow=0,col=0,high=0,low=0;fputc(0xFF,out);fputc(0xFE,out);while(!feof(in)){row=fgetc(in);if(row<128){col=row;row=0;}elsecol=fgetc(in);high=((gbk2unicode[row][col])>>8)&0xFF;low=(gbk2unicode[row][col])&0xFF;fputc(low,out);fputc(high,out);}fclose(in);fclose(out);}4.结束语本

c语言unicode编码转gbk,基于C语言的GBK-Unicode文本编码转换系统的实现相关推荐

  1. c语言限速编程,一种基于c语言的列车限速曲线计算方法和装置的制造方法

    一种基于c语言的列车限速曲线计算方法和装置的制造方法 [技术领域] [0001]本发明涉及一种基于C语言的列车限速曲线的计算方法和装置,属于计算机自动化技术领域. [背景技术] [0002]目前现有的 ...

  2. r语言boxcox异方差_基于R语言进行Box-Cox变换

    原标题:基于R语言进行Box-Cox变换 作者简介 作者:吴健中国科学院大学 R语言.统计学爱好者,尤其擅长R语言和Arcgis在生态领域的应用分享 个人公众号:统计与编程语言 Q: 为什么要进行Bo ...

  3. linux系统最好的c类语言开发软件,Linux下基于C 语言开发即时通信软件.doc

    Linux下基于C 语言开发即时通信软件 Linux下基于C++语言开发即时通信软件 关键词:聊天软件 文字聊天 Linux平台 C/S架构ICE中间件 Linux-based instant mes ...

  4. c语言万年历流程图加程序,基于C语言的万年历(内附程序).pdf

    基于C语言的万年历(内附程序) 课程设计 课程名称 C语言程序课程设计 题目名称 编写万年历系统 学生学院 专业班级 学 号 学生姓名 指导教师 2009 年 06 月 04 日 广东工业大学课程设计 ...

  5. c语言迷宫问题课程报告,基于c语言的迷宫问题课程设计

    基于c语言的迷宫问题课程设计 *******************实践教学*******************兰州理工大学软件学院2012 年春季学期算法与数据结构 课程设计题 目: 迷宫问题 专 ...

  6. c语言风光互补运行模式,基于风光互补特性的风电光热电站联合系统容量优化方法与流程...

    本发明属于风电光热电站联合发电系统技术领域,特别涉及到一种基于风光互补特性的风电光热电站联合系统容量优化方法. 背景技术: 光热发电技术是一种利用集热器将太阳能聚集起来.加热工质,由此驱动汽轮发电机发 ...

  7. c语言写层次分析法,基于C语言的层次分析法在医院工作质量评价中的设计与实现...

    高宇翔 王磊 买力曼·巴哈尼 朱诗威 艾孜买提·艾则孜 吴淼 摘要:目的:对新疆医院工作质量进行综合评价和分析,并提出合理的改进建议,结合新疆医院的工作质量,采用层次分析法提出医院工作质量评价模型,并 ...

  8. 基于c语言单片机秒表课程设计,基于c语言单片机秒表课程设计要点.doc

    课程设计报告 课程名称:单片机原理及应用 报告题目:秒表 学生姓名: 所在学院:信息科学与工程学院 专业班级: 学生学号: 指导教师: 2013 年 12 月 25 日 课程设计任务书 报告题目秒表完 ...

  9. c语言编写的点菜程序,基于C语言实现点菜系统

    本文实例为大家分享了C语言点菜系统的具体代码,供大家参考,具体内容如下 用C语言编写的简单的餐厅点菜系统,操作简单,代码不多,菜单可以自己更改,价格也是 #include #include #incl ...

  10. c语言反编译_Gacrux:基于C语言的可自定义PE加载恶意软件

    写在前面的话 近期,我对这款名为Gacrux的恶意软件样本进行了分析.考虑到这两个样本文件的来源,我无法直接跟大家共享文件的哈希或直接公开样本文件,不过根据本文所提供的信息,大家可以轻松识别出这款恶意 ...

最新文章

  1. mybaties分页
  2. 进一步封装axios并调用其读取数据(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)
  3. Python工程的文档结构
  4. Android Launch Mode的学习记录
  5. 天池csv转成grt代码里的luna的csv,pandas库来操作csv文件(pd.DataFrame,pd.concat,pd.Series,to_csv等)实现
  6. 几种常用的视频接口(端子)
  7. JDK自带工具keytool的使用
  8. mac整站下载工具httrack
  9. 中国移动 招聘 php,中国移动开启社招,这真的是机会?移动员工:携网转号累死你...
  10. 详解 Java 内部类
  11. BCM SIP ALG原理及实现(应用层实现机制)
  12. sqp方法 matlab程序,matlab-program 基于matlab编写了SQP法 - 下载 - 搜珍网
  13. 解压文件时文件名出现菱形问号������解决方案
  14. 华为网络实验--动态路由器+RIP路由协议配置及验证
  15. BAT面试经验分享(机器学习算法岗)
  16. 未来计算机网络技术层面的发展,计算机网络技术的未来发展趋势和新媒体影响...
  17. pc2环境配置指南(windows)
  18. iframe语法小结
  19. Python 爬虫分析豆瓣 TOP250 之 信息字典 和 马斯洛的锥子
  20. 目标检测:各种网络结构对比

热门文章

  1. 磁盘不见了只剩一个c盘_电脑硬盘分区突然见了就剩个C盘到磁盘管理看也只有C盘...
  2. Cadence导出带有书签和链接的PDF原理图
  3. 蝙蝠算法c语言,求解0-1背包问题的二进制蝙蝠算法
  4. OA项目之我的审批(查询会议签字)
  5. vscode下载Visual Studio Code User System windows及 Mac安装文件下载
  6. Android:什么是签名、为什么要给应用程序签名、如何给应用程序签名
  7. 随机出题在线考试系统php_在线考试系统怎么实现自制题库随机出题
  8. xp系统打印服务器自动关闭,xp打印机服务器设置
  9. linux tuxedo查看服务进程数,Tuxedo 运行监控命令
  10. 智慧能源:浅谈新一代信息技术在智慧能源的应