单片机上软字库换32进制存储,空间占用少20%

SSD1306规格OLED驱动库(STM32版),包含16x16汉字、字母写入函数 这里写目录标题前言OLED一、像素二、页结构纵向结构横向结构注意事项字库oled_font.h一、字库介绍二、制作字库PCtoLCD2002 前言 在很多项目中OLED屏幕的使用都是很常见的,可以作为调试信息的输出以及用于用户交互。 一般的项目我们只需要能实现一些简单的功能就行,比如写入汉字以及字母就行,所以我将这两个功能打包成函数,方便调用。 项目工程我会放到文章最后,需要的可以下载使用。 OLED 一、像素 1、我使用的这款OLED是128x64大小的,也就是这个屏幕一共有128x64 = 8192的发 阅读详情

在之前的单片机字库建立的推送中:

https://blog.youkuaiyun.com/platform/article/details/130742775,

存储了GB2312字符集对应的软字库文件,在16*16的编码下总字库的507KB,后来把字体切换成了12*12,软字库缩减到了301KB。当然这里面对于有些编码的算法还是做了修改。

然后,某天灵光一闪:为啥不使用32进制存储,最后一番思量后把以前的16进制切换成了32进制,软字库文件由301KB缩减到了245,只有之前字库文件的81%.

理论上来讲,还可以使用64进制存储,大约又能缩减20%左右,大约可以控制到200KB左右,别小看这个缩减,在单片机存储空间是宝贵的,说的直白一点以前只能放16或者12字号的一种字体,现在可以放两种了,适用范围更广。

当然由于现在各种语言对于32进制的支持并不友好(为啥呢?)在单片机中使用32进制必须有对应的解码算法调整。

我的问题就来了:32进制在传输或者文本的时候明明有更好的压缩率,为啥主流世界并不采用32进制或者更高的进制呢?

x32.font 12号字体32进制存储 245KB

x16.font 12号字体16进制存储 301KB

x.font 16号字体,16进制存储 507KB

补充以下内容:

以下的二进制

00010100000000010100000000100111111000100100001001101

嵌入式LCD字模缩放:任意尺寸中英文字符显示实现 点阵字体缩放是嵌入式GUI开发中的基础图像处理技术,其核心在于通过确定性重采样将固定尺寸的二值化字模映射为任意目标尺寸。该技术不依赖浮点运算或GPU加速,而是基于Q16定点数比例计算与最近邻采样,在MCU端完成高效、无损的字模变换。它显著降低Flash资源占用,支撑多分辨率适配与用户自定义字号等产品需求,在STM32等人机交互场景中具备关键工程价值。本文详解字模缩放算法原理、内存布局优化及中英文差异化处理机制。 阅读详情

相关推荐

ESP32 带字库显示中文终极方案

不论要使用GB2312整体字符集还是自定义部分中文,整体便捷性都基本达到了最优,这是其他方案无法替代的。目前迎来了大结局:这个在esp32,esp8266上显示中文的方案已经做到了最优,项目被开源到了。调用方式被优化,各种注释被加进去,存储编码从16进制化成了终极的64进制,已经不能再调整进制了。要知道最初接触这块内容,使用其他方案可是1000K左右啊!下面是不同字号,不同编码方式宋体字符在GB2312的字库大小对比。字库生成后自动上传到单片机等等,反正能做的优化全做了。

Sean.Pu的专栏 5124

单片机汉字显示:GBK字库取模、裁剪与显示驱动全解析

字符编码是数字世界信息表示的基础,其中GB2312/GBK作为广泛使用的中文编码标准,通过双字节映射实现了对数千汉字的唯一标识。其原理是将字符图形转换为二进制点阵数据,即“字模”,每个比特对应一个显示像素。这项技术的核心价值在于,在存储和算力受限的嵌入式系统中,实现高效、低成本的中文信息可视化。它使得智能家电、工业HMI、便携设备等场景的人机交互成为可能。本文将深入探讨如何通过**取模**和**定制化字库**技术,在单片机上构建精简字库,并详解从编码解析、数据检索到像素绘制的完整工程实现路径,解决显示乱码、

weixin_42521186的博客 716

基于STM32的中文字库解码

以前在用51显示汉字的时候

学习札记 9822

各种字库,可以通过单片机调用

各种字库,可以通过PC等先发给单片机存起来,然后调用,显示在点阵上。

数据压缩算法在单片机上的实现

数据压缩算法在单片机上的实现 焦作大学学报

gbk点阵字库,16x16大小

文件拓展名为fon,系统是打不开的,可以使用WinHex观察存储信息 可用于SD卡中字库的存储

PC+单片机字库GB2312下载

*GB2312中文字库下载 单片机+C#代码 *描述 通过串口接收上位机发送的字库数据校验通过后写入外置flash

BBR算法原理与实现深度解析

BBR算法通过重新定义拥塞控制的基本范式,为现代网络应用提供了突破性的解决方案。随着QUIC协议的普及和智能网卡技术的发展,BBR类算法将在边缘计算、云游戏、工业物联网等领域发挥更重要的作用。

程序猿老樊的博客 2418

【拯救C盘】一文搞懂Windows修改Anaconda默认的虚拟环境存放路径及其原理

Anaconda创建的虚拟环境可能会默认保存在C盘,但C盘的存储空间很宝贵,由于每个虚拟环境的大小可能达到n个GB,稍不注意就会遇到C盘红色警告。因此有必要做点什么来拯救被虚拟环境占用的大部分空间!!!

Roach007的博客 3万+

horizon之为connection服务器配置证书

打开connection1服务器(connection2 同connection1)再输入connection1的IP地址 可通过域名和IP地址进行登录。这时候用域名登录就发现证书已经没有警告了。win+R 调出“运行”,输入mmc。connection2 同上。如果还有报错请重启一下服务器。打开connection1。可以把这个先删掉 没用。打开DC_01服务器。右键选择证书颁发机构。友好名称只能是vdm。重启之后就没有报错了。

送个祝福给小豪的博客 2960

halcon3D 点云拟合球体

halon3D 点云拟合球面

weixin_43213429的博客 1639

FT2004(D2000)开发实战之网口stmmac报错调试(Failed to reset the dma)

网口stmmac报错调试(Failed to reset the dma)

嵌入式Linux 3584

Dify 第 19 篇 手把手教你开发 Dify 插件:从零实现一个时间工具

本文介绍了Dify平台的插件开发机制和流程。Dify支持多种插件类型,包括模型、工具、数据源等,可通过CLI工具快速开发插件。文章详细讲解了如何安装Dify CLI工具,并演示了从零开发一个获取系统时间插件的完整过程,包括项目初始化、文件解读和打包部署。通过该教程,开发者可以快速掌握Dify插件开发的核心要点,实现自定义功能扩展。

甘蓝的专栏 2448

【S32K3 MCAL配置】-3.4-CANFD配置-接收特定的“经典CAN/CANFD标准帧”和“经典CAN/CANFD扩展帧”(基于MCAL+FreeRTOS)

【S32K3 MCAL配置】-3.4-CANFD配置-接收特定的“经典CAN/CANFD标准帧”和“经典CAN/CANFD扩展帧”(基于MCAL+FreeRTOS)

「汽车电子助手」的博客 696

使用Everything清理垃圾文件的实战方案(持续更新)

本文主要介绍了使用Everything清理垃圾文件的实战方案,希望能对同学们有所帮助。 文章目录 1. Everything工作原理简述 2. Everything实战清理垃圾文件 2.1 清理应用无用文件 2.2 清理无用但遗忘的文件 2.3 使用Python代码自动化删除重复文件

weixin_43178406的博客 2万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: ESP 32 蓝牙虚拟键盘链接笔记本电脑的键值问题
下一篇: ESP32 下蓝牙播放音乐
platform
博客等级 码龄26年 1117粉丝 351原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值