硬汉嵌入式论坛

 找回密码
 立即注册
查看: 68|回复: 0
收起左侧

[FatFs] FatFS的177KB Unicode和GBK互转码表精简到97KB

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 昨天 11:03 | 显示全部楼层 |阅读模式
这个是官方网站发布的,下载地址如下:
https://elm-chan.org/fsw/ff/patch/ffunicode.zip

ffunicode.zip (381.57 KB, 下载次数: 1)

原文如下:

Unicode 转换模块 ffunicode.c 在 LFN 配置下链接时,如果配置为 DBCS,会占用大量内存。
根据用户论坛中的建议,我发现其中有很大优化空间,可以提升 8 张转换表中 6 张的压缩率。
以下是修改压缩算法后,各表大小的变化结果:

日语 (932)              59k ==> 47k(减少 12k)
简体中文 (936)       174k ==> 97k(减少 77k)
韩语 (949)             136k ==> 103k(减少 33k)
繁体中文 (950)      108k ==> 78k(减少 30k)
所有代码页 (0)      482k ==> 329k(减少 153k)

请注意:对于 SBCS 配置,没有任何改进效果。

1. DBCS (Double-Byte Character Set, 双字节字符集)
含义:用两个字节来表示一个字符。
用途:主要用于需要表示大量字符的语言,比如中文、日文、韩文(CJK 文字),因为一个字节(256 种可能)不足以涵盖所有字符。
特点:大部分西文字符(ASCII 范围)仍用 1 字节存储。CJK 等复杂字符用 2 字节存储。常见编码:Shift-JIS、GBK、Big5、EUC-KR 等。

2. SBCS (Single-Byte Character Set, 单字节字符集)
含义:用一个字节表示一个字符。
用途:适合西欧语言等字符数量少于 256 的场景(如英语、法语、西班牙语)。
特点:每个字符只占 1 字节。常见编码:ASCII、ISO 8859 系列、Windows-1252 等。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-11 21:05 , Processed in 0.037779 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表