spyder设置显示编码_任意汉字显示,给你的嵌入式系统(含MCU)装上字库

本文介绍了如何在嵌入式系统(如MCU)上显示汉字,从字符编码(ASCII、Unicode、UTF-8、GBK)到液晶屏汉字显示原理。通过取模法和字库法实现任意汉字显示,详细步骤包括字模生成、二进制文件转换和在Linux系统上的验证。并提供了相关工具和代码资源。
摘要由CSDN通过智能技术生成

3aa6b71f7bee6c6acc02be8154df346c.png

0 引言

还记得通常在MCU驱动LCD,OLED是怎样显示汉字的吗?采用取字模工具,生成字模数组,然后要显示某个字符,直接索引这个字符的数组,然后对这个数组数据进行显示就行了,就像这样:

a0790c138111ad4d44c95635ac21d7be.png

最近有开发一个物联网项目,将网络端的发过来的汉字显示到屏幕上,但问题来了,我还不知道网络端要发送具体哪些汉字,我是无法对具体的汉字取模,因此,得想办法先对所有汉字进行取模,或使用字库,于是就有了下文。

1 字符编码

先从字符编码说起:参考阮一峰博客字符编码

  • ASCII码:一共规定了128个字符的编码,这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的一位统一规定为0。
  • 非ASCII码:英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的。
  • GB2312,GBK,Unicode,UTF-8均为非ASCII编码
  • Unicode码:如果有一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是 Unicode,就像它的名字都表示的,这是一种所有符号的编码。
  • 注意:Unicode 只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储
  • UTF-8码:UTF-8 就是在互联网上使用最广的一种 Unicode 的实现方式,是Unicode 的实现方式之一。
  • GB2312,GBK:GB2312是常用汉字的专用编码,GBK是所有汉字的专用编码。
  • 注意:GB类的汉字编码与后文的 Unicode 和 UTF-8 是毫无关系的

2 液晶屏汉字显示原理

  • ASCII字符显示,由于ASCII字符仅128个,可以实现对每个字符一一取模,且占用MCU的RAM不会过大,此处不再介绍ASCII字符的显示。
  • 为什么显示英文一般不用字库芯片? 英文的单词都是由26个字母构成了,加上大小写的区别和其它一些字符,也不过才95个。假如要显示8 * 16像素大小的字符,每一个字符需要16个字节的字库空间,95个字符即是95
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值