GBK与UNICODE互转
来源:互联网 发布:羽毛笔哈利波特 淘宝 编辑:程序博客网 时间:2024/06/01 13:14
在一些应用场景,会出现这样的需求:UTF-8 -> Unicode -> GBK,然而,Unicode与GBK没有相对应的算法可以直接转换……
前提:GBK与UNICODE没有直接的对应关系,只能通过一张大表将两者联系起来。
对于计算机等大型设备来说,可以直接使用大神们写好的库,用起来不费吹灰之力,如GNU上的Libiconv,链接:http://directory.fsf.org/wiki/Libiconv;而对于小型嵌入式设备来说,由于ROM与RAM的限制,是没法将Libiconv那么大的库应用上去了,我们只能从中选择我们需要使用的CODE_PAGE。
具体实现方式:
首先,代码部分可以从Fatfs的项目中获得,如下图:
其中的cc936.c就是我们所需要的GBK与unicode对应的表,里面包含了查表的算法,我们只需要调用即可:
写得很详细。这个表很大,大概有170kb,查表的速度没实测过,不知道怎么样。
测试:
打开VS,新建控制台程序,copy代码+数据类型typedef,调用函数测试:
结果输出:
对比验证:
上这个网站:http://www.mytju.com/classCode/tools/encode_gb2312.asp
结果无误,说明是可用的。
ROM空间不够的MCU慎用。
0 0
- Unicode与GBK互转
- Unicode与GBK互转
- Unicode与GBK互转
- GBK与UNICODE互转
- GBK与unicode转换
- GBK UTF8 ANSI UNICODE 互转
- 制作GBK与Unicode的对照表
- gbk与unicode的映射表
- GBK与Unicode对照表的生成
- GBK/Unicode
- gbk, gb2312,big5,unicode,utf-8,utf-16 GBK、GB18030与Unicode的映射
- unicode转gbk,gbk转unicode CC++
- GB18030编码研究以及GBK、GB18030与Unicode的映射
- GB18030编码研究以及GBK、GB18030与Unicode的映射
- c# GBK,Unicode,UTF-8编码与汉字的转换
- GB18030编码研究以及GBK、GB18030与Unicode的映射
- WindowsPhone的中文GB2312、GBK编码与Unicode相互转换
- 字符集编码(GBK,BIG5,UNICODE)与C++的string/wstring
- mysql数据库文件
- 第十二周项目二 操作用邻接表存储的图
- Java知识点整理:第十四章:java多线程编程、创建一个线程、异步与同步、java反射、类加载
- 网址收藏
- Android通过接口方式调用服务里面的方法
- GBK与UNICODE互转
- JDBC新手快速入门
- 简易版计时器
- win7保护眼睛的颜色设置方法
- Content
- flavr—超级漂亮的jQuery扁平弹出对话框
- Python知识点整理
- 第十二周项目4 - 利用遍历思想求解图问题6
- SQL--删除表数据的三种不同实现方法