将字符串从代码页1252转换为1250

raf*_*lry 3 java cp1252 codepages cp1250

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

例如

String str1252 = "ê¹?¿?æñ³ó";
String str1250 = convert(str1252);
System.out.print(str1250);
Run Code Online (Sandbox Code Playgroud)

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

????????ó
Run Code Online (Sandbox Code Playgroud)

这些是波兰特有的字符.

谢谢你的任何建议.

axt*_*avt 6

这非常简单:

public String convert(String s) {
    return new String(s.getBytes("Windows-1252"), "Windows-1250");
}
Run Code Online (Sandbox Code Playgroud)

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