将字符串从代码页1252转换为1250
如何将具有在代码页1252中解码的字符的一个String
转换为在代码页1250中解码的String
。
例如
String str1252 = "ê¹ś¿źæñ³ó"; String str1250 = convert(str1252); System.out.print(str1250);
我想找到这样的convert()
函数,打印输出将是:
ęąśżźćńłó
这些是波兰特有的字符。
谢谢你的任何建议。
这很简单:
public String convert(String s) { return new String(s.getBytes("Windows-1252"), "Windows-1250"); }
请注意, 由于ANSI和OEM代码页之间不匹配 , System.out.print()
可能会引入另一个错误的转换 。 但是System.console().writer().print()
应该正确输出它。