Java 中的 UTF-8 到 ISO-8859-1 映射/无损转换库

发布于 2024-08-23 15:31:34 字数 270 浏览 6 评论 0原文

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

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

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

I need to perform a conversion of characters from UTF-8 to ISO-8859-1 in Java without losing for example all of the UTF-8 specific punctuation.
Ideally would like these to be converted to equivalents in ISO (e.g. there are probably 5 different single quotes in UTF-8 and would like them all converted to ISO single quote character).

String.getBytes("ISO-8859-1") just won't do the trick in this case as it will lose the UTF-8-specific chars.

Do you know of any ready mappings or libraries in Java that would map UTF-8 specific characters to ISO?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

短叹 2024-08-30 15:31:34

IBM 的 ICU 项目可能就是您正在寻找的。它支持后备转换。

IBM's ICU project might be what you're looking for. It has support for fallback conversions.

三人与歌 2024-08-30 15:31:34

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

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

Have you considered using an OutputStream with an explicit character set of ISO-8859-1?

Then just write your Unicode chars and see what you get.

抱着落日 2024-08-30 15:31:34

Java 开发工具包有一个名为 native2ascii 的工具可以执行此操作。使用:

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

您还可以使用 -reverse 选项以其他方式返回。

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

The Java Development Kit has a tool called native2ascii that will do this. Use:

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

You can also go back the other way using the -reverse option.

Also see the list of supported encodings for JDK 1.6.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文