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

news2024/10/6 4:06:39

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

https://blog.csdn.net/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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1038786.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

速卖通商品详情数据接口

速卖通商品详情数据接口(aliexpress商品详情API接口)可以获取到速卖通商品的详细信息,如商品标题、价格、库存、详情描述、图片等。 速卖通商品详情API接口是速卖通提供的一种产品数据接口,可以帮助速卖通卖家快速地将产品分类、…

一个高效、简洁、轻量的一站式研发管理平台,协作一站式

一、开源项目简介 Codes 是一个 高效、简洁、轻量的一站式研发管理平台。包含需求管理,任务管理,测试管理,缺陷管理,自动化测试,cicd 等功能;Codes 帮助企业加速融合研发、测试、运维一体化进程 常态下,刀…

正态分布的概率密度函数|正态分布检验|Q-Q图

在正态分布的概率密度函数中,自变量 X 是一个随机变量,表示我们要研究或测量的某一现象或事件的取值。正态分布的概率密度函数用来描述这个随机变量的概率分布情况,即在不同取值上的概率密度。 具体来说,对于正态分布的概率密度函…

【PMP/软考】软件需求的三个主要层次:业务需求、用户需求和功能需求解释及实例解析

简述 当进行需求分析时,通常着重考虑三个主要层次:业务需求、用户需求和功能需求。业务需求关注项目与组织战略目标的一致性,用户需求明确最终用户的期望,而功能需求定义具体的系统功能和特性。这三个层次为项目管理和软件工程提…

12款最火的AI画图软件,助你探索创新设计

ChatGPT火爆出圈,AI画图软件也如雨后春笋般流行起来。各类AI画图的软件工具横空出世,设计师与其焦虑工作会不会被人工智能取代,不如践行“工欲善其事必先利其器”,开拓思路,打开格局,好好地探索下如何利用好…

Apache HTTP Server 2.4.49 路径穿越漏洞 (CVE-2021-41773)

Apache HTTP Server 2.4.49 路径穿越漏洞 (CVE-2021-41773) 文章目录 Apache HTTP Server 2.4.49 路径穿越漏洞 (CVE-2021-41773)1 在线漏洞解读:2 环境搭建3 影响版本:4 漏洞复现4.1 执行漏洞核心指令4.2 进行访问使用bp抓包4.3 尝试执行指令4.4 反弹shenll成功 1 …

039:vue中数字货币化快速显示

第039个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

Python程序设计实例 | 爬取机场航班信息

案例中将展示机场官网中航班信息(如机场航班的离港与进港信息)的爬取过程。有兴趣的读者可以在本案例的基础上对数据进一步分析,或是对爬虫做进一步的开发,增加更多功能。 请求、解析、处理数据是通用爬虫的三个步骤,在本案例中,…

一文了解什么SEO

搜索引擎优化 (SEO) 是一门让页面在 Google 等搜索引擎中排名更高的艺术和科学。 一、搜索引擎优化的好处 搜索引擎优化是在线营销的关键部分,因为搜索是用户浏览网络的主要方式之一。 搜索结果以有序列表的形式呈现,网站在该列表中的排名越高&#x…

一个含不少免费额度和数据下载的IP地址来源查询工具

大家好,我是TJ君! 如今在国内运营的各种互联网应用都有接入IP来源显示的要求,现在相关API的供应商也很多。今天TJ刚好看到一个不错的,所以马上给大家推荐一下。 这款不错的产品名称为:IPInfo 产品特性 该IP查询工具…

解决 react 项目启动端口冲突

报错信息: Emitted error event on Server instance at:at emitErrorNT (net.js:1358:8)at processTicksAndRejections (internal/process/task_queues.js:82:21) {code: EADDRINUSE,errno: -4091,syscall: listen,address: 0.0.0.0,port: 8070 }解决方法&#xff…

第二证券:美国政府又要“关门”?3万亿市值蒸发!

上星期,欧美股市全线跌落,科技股大跌,纳斯达克指数跌逾3%,苹果、微软、谷歌、亚马逊、英伟达、特斯拉、脸书母公司Meta等七大科技股上星期市值算计削减4615亿美元(合人民币3.37万亿元)。 本周市场将发布我…

查看吾托帮88.47的docker里的tomcat日志

步骤如下 (1)ssh (2)ssh root192.168.88.47 等待输入密码:fytest (3)pwd #注释:输出/root (4)docker exec -it wetoband_deploy /bin/bash #注释&#xff1…

jmeterbeanshell调用jsonpath获取对应值

1.jmeter 新建线程组、Java Request、BeanShell Assertion、View Results Tree 2、在BeanShell Assertion中贴入代码: import org.apache.jmeter.extractor.json.jsonpath.JSONManager; import java.util.List; JSONManager js new JSONManager(); String jsonStr…

Vuex命名空间及如何获取根模块、兄弟模块状态管理器

模块化思想 import global from ./modules/global; import form from ./modules/form; import formDesign from ./modules/form-design; ...const store new Vuex.Store({state: {},mutations: {},actions: {},strict: true,modules: {global,form,formDesign,...},... } 此时…

现场直击|亚数TrustAsia精彩亮相IOTE深圳物联网展,CSA联盟展台等你来!

2023年9月20日,IOTE 2023第二十届深圳国际物联网展在深圳国际会展中心(宝安)顺利开幕。作为物联网领域年度最重要的行业盛会之一,本次展会汇聚全球来自工业、物流、基建、智慧城市、智慧零售等领域的600企业、10万行业人士&#x…

springboot 获取参数

1.获取简单参数 2.实体对象参数

软考高级+系统架构设计师教程+第二版新版+电子版pdf

注意!!! 系统架构设计师出新版教程啦,2022年11月出版。所以今年下半年是新版第一次考试,不要再复习老版教程了,内容改动挺大的。 【内容简介】系统架构设计师教程(第2版)作为全国计…

RuntimeException

1.介绍 说明:RuntimeException是一个运行时异常类,通常用于处理程序运行时发生的异常,例如空指针异常、数组越界异常等。运行时异常类是在程序中出现这类异常时,即使没有try...catch语句捕获异常或使用throws关键字声明抛出异常&…

漫谈:C语言 C++ 左值、右值、类型转换

编程不是自然语言&#xff0c;编程自有其内在逻辑。 左值引起的BUG 编译器经常给出类似这样的BUG提示&#xff1a; “表达式必须是可修改的左值” “非常量引用的初始值必须是左值” 看一下示例&#xff1a; #include <iostream>void f(int& x) {} int main() {sho…