【发布时间】:2019-07-24 19:16:57
【问题描述】:
我有以下文字:
Анна Меркулова
在以下在线解码器https://2cyr.com/decode/?lang=en 的帮助下,我能够将提到的字符串解码为正确的字符串:
Анна Меркулова
源编码为 UTF-8,目标为 WINDOWS-1251
但我仍然无法在 Java 中以编程方式完成:
String utf8String = new String("Анна Меркулова".getBytes(), "UTF-8");
String ansiString = new String(utf8String.getBytes("UTF-8"), "windows-1251");
System.out.println(ansiString);
返回
Анна Меркулова
我做错了什么以及如何正确转换字符串?
【问题讨论】:
-
Java 中的字符串在内部始终使用相同的编码。 new String() 根据您设置的编码创建一个字符串。如果要输出另一种编码,则必须打开设置编码的输出流。您可以使用 OutputStreamWriter。
标签: java encoding utf-8 text-decoding