3

如何将String在代码页 1252 中解码的字符转换为String在代码页 1250 中解码的字符。

例如

String str1252 = "ê¹ś¿źæñ³ó";
String str1250 = convert(str1252);
System.out.print(str1250);

我想找到这样的convert()功能,打印输出将是:

ęąśżźćńłó

这些是波兰语特有的字符。

感谢您的任何建议。

4

1 回答 1

6

这很简单:

public String convert(String s) {
    return new String(s.getBytes("Windows-1252"), "Windows-1250");
}

请注意,由于 ANSI 和 OEM 代码页之间的不匹配,System.out.print()可能会引入另一个不正确的转换。但是System.console().writer().print()应该正确输出。

于 2011-01-31T12:06:37.540 回答