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

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

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

补充以下内容:

以下的二进制

000101000000000101000000001001111110001001000010011010010100101000010000001001010100001001010010001001010010001010010010001000010000001000110000

8进制存储是:

0o50005001176110232245020112411221122122210201060

16进制存储是:

0x14014027e242694a10254252252292210230

32进制存储是:

180a04vh44qaa20ik4kh54a9220hg

看了上面这个对比明白了吧

你可能感兴趣的:(ESP8266,ESP32,技术是什么,单片机,嵌入式硬件,软字库)