天线|RF射频
直播中

李秀珍

7年用户 956经验值
私信 关注
[问答]

OLED显示汉字实验问题的解决办法?

我现在做这个汉字显示的东西,也在网上查了些关于编码的资料。理解就是我们使用的汉字编码一般是GBK,所以要显示汉字的话要得到GBK的液晶点阵字库,这部分没有问题。但是KEIL MDK编译器使用的是Unicode编码,而Unicode编码是不兼容GBK的,所以我们在程序中写的中文字符串并不能像ASCII这样的字符一样直接用来查找GKB点阵数据的,必须通过程序将Unicode表示的汉字转换到GBK才可以得到对应汉字点阵在字库中的偏移位置。问题是,我并没有在原子哥的程序中看到Unicode到GBK的转换这一步骤呀,程序中   void Get_HzMat(unsigned char *code,unsigned char *mat,u8 size)  这个函数是直接将字符按照GBK编码处理了    ,是我什么地方理解的有问题吗?        

回帖(3)

王峰

2020-8-12 07:50:22
MDK编译的是代码,和MDK本身 用什么编码,关系不大。何况MDK,我们一般设置的都是GB2312,属于GBK的子集。
举报

刘恩彤

2020-8-12 07:58:57
我们平时MDK设置的2312,我的理解只是代码文件内容的解码方式,如果我在程序里面定义了unsigned char *ptr="发烧友",MDK会按照GB2312去编码这个字符串吗?还是说按照Unicode的方式?
举报

丁浩

2020-8-12 08:14:01
我后来用编译器试了一下,在MDK中把编码设置为GB2312,可以在程序里面使用中文字符串变量,编译器是按照设置的2312编码方式进行编译的,中文可以像ASCII字符那样做运算。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分