将ISO 8859-X转换为Unicode的方法

Ways to convert ISO 8859-X to UNICODE

本文关键字:Unicode 方法 转换 ISO 8859-X      更新时间:2023-10-16

在C 中将ISO 8859-X转换为Unicode的选项是什么?由Unicode我是指在0和65,535之间的Unicode代码点,因为所有ISO 8859-X都是占据该范围的字符集。

最明显的是获取映射表(http://ftp.unicode.org/public/mapping/mappings/iso8859/8859-7.txt)并为此做出解析。但是我想有一些库(我没有发现)?

我知道ISO-8859-1转换有一个微不足道的代码,但让我们忽略它,因为它仅适用于此特定的ISO编码。

您可以分享哪些选项?可能每个选项的哪些优点/缺点?

就我个人而言,我更喜欢轻量级的东西,因为我只需要一种方式转换,而ISO不需要一个完整的Unicode支持。

您可以使用专用的Unicode转换库,例如ICONV或ICU。

但是,如果您需要的只是从ISO-8859-X转换为unicode,而不是相反,而没有其他charset,那么您可以简单地声明一个静态的wchar_t[16][256]数组,其中包含适当的Unicode CodePoints。仅定义了16个ISO-8859炭芯(如果您计算变体的话),每个值多达256个值。然后,您可以使用其字符字符串作为索引中的索引循环。