2

我需要在 Java 中执行从 UTF-8 到 ISO-8859-1 的字符转换,而不会丢失所有 UTF-8 特定标点符号。
理想情况下希望将这些转换为 ISO 中的等价物(例如,UTF-8 中可能有 5 个不同的单引号,并且希望它们都转换为 ISO 单引号字符)。

String.getBytes("ISO-8859-1") 在这种情况下不会起作用,因为它会丢失 UTF-8 特定的字符。

您是否知道 Java 中有任何现成的映射或库可以将 UTF-8 特定字符映射到 ISO?

4

3 回答 3

2

IBM 的ICU项目可能正是您想要的。它支持后备转换。

于 2010-03-02T13:18:56.380 回答
1

您是否考虑过使用带有 ISO-8859-1 显式字符集的 OutputStream?

然后只需编写你的 Unicode 字符,看看你得到了什么。

于 2010-03-02T12:18:09.817 回答
0

Java 开发工具包有一个名为 native2ascii 的工具可以做到这一点。采用:

native2ascii -encoding UTF-8 [ inputfile [ outputfile ] ]

您也可以使用 -reverse 选项以另一种方式返回。

另请参阅JDK 1.6 支持的编码列表

于 2010-05-29T12:13:43.300 回答