我一直在研究将 Latin-1 兼容(使用unsigned char
)C 应用程序转换为 Unicode 兼容的库。
ICU 项目似乎是最有前途的,但它也是一个庞大的库并且难以集成/构建(特别是考虑到它需要为 iOS、Android、Windows、WASM 和 Linux 编译)。
我真的只需要固定长度的编码和转换大小写的能力 - 是否可以只使用 UTF-32 字符串(存储为int[]
)和两个 UTF-32 兼容strtoupper()
/strtolower()
函数来做到这一点,或者有什么东西阻止我这样做(例如连字或组合字符)?
我的计划是制作一个大写/小写映射的静态列表并将其用作查找表(或者更确切地说,合并相同“类型”的字符范围以节省空间)。