请问用51单片机怎么将unicode码转换成GB2312码?

2020-01-20 19:14发布

我现在要用到GB2312码,不过串口的数据是U码,现在涉及到将U码转化成GB码的问题。

在网上查了一些资料,有的是用查表的方法得到的,但是在51单片机中的可行度好像不大,因为那个映射表的数组非常庞大

请问各位大神是怎么做到的,将U码转化成GB码,有现成的芯片吗?或提供下程序,不胜感激~~~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
22条回答
takashiki
2020-01-21 02:08
映射方式不是顺序映射的,只能查表。
要速度快就以Unicode作为基础做一个大表,占用Flash 128K。
要占用Flash小就以GB2312为基础做一个表,占用大概Flash 15K,再挨个搜索。
想再小一点就把GB2312后面的二级汉字单独提取出来做个小表,存储差分后的Unicode编码,按差分后每个占用1字节计,占用Flash大约11K。
更小一点,直接把二级汉字干掉,只占大约7K的Flash空间,超出部分全部用XXX代替,哈哈。

一周热门 更多>