Java:如何撤消从UTF-8到ISO-8859-1的转换



我的 UTF-8 字符串已通过以下方式转换为 ISO-8859-1 字符串:

  • 字符 0 到 127(十六进制 0x7F(保持不变(0-9,a-z,A-Z 等(。
  • 字符
  • 128 及以上已转换为两个 ISO-8859-1 字符:é变为éͶ变为Ͷ,等等。

有没有办法撤消此转换,例如é变得é

假设我们有一个包含双 iso-8859-1 字符的字符串,例如é

要将双 iso-8859-1 转换为 UTF-8 字符,我们可以使用此构造函数String.传递一个byte数组和一个CharSet对象。类java.nio.charset.StandardCharsets为各种CharSet对象提供常量。

String accentE = 
new String(
"é".getBytes(StandardCharsets.ISO_8859_1), 
StandardCharsets.UTF_8
)
;

这是é

查看此代码在 IdeOne.com 实时运行。

最新更新