Java: 如何撤消从 UTF-8 到 ISO-8859-1 的转换
Java: how to undo conversion from UTF-8 to 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 字符,我们可以使用 this constructor of String
. Pass an array of byte
and a CharSet
object. The class java.nio.charset.StandardCharsets
为各种 CharSet
对象提供常量。
String accentE =
new String(
"é".getBytes(StandardCharsets.ISO_8859_1),
StandardCharsets.UTF_8
)
;
即é
我的 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 字符,我们可以使用 this constructor of String
. Pass an array of byte
and a CharSet
object. The class java.nio.charset.StandardCharsets
为各种 CharSet
对象提供常量。
String accentE =
new String(
"é".getBytes(StandardCharsets.ISO_8859_1),
StandardCharsets.UTF_8
)
;
即é