Преобразовать строку из CodePage 1252 в 1250
Вопрос
Как я могу преобразовать один String
с персонажами, декодированными в коде 1252 в String
Декодировано в коде 1250.
Например
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");
}
Обратите внимание, что System.out.print()
может представить Еще одно неправильное преобразование из -за несоответствия между страницами ANSI и OEM -кода. Анкет Однако System.console().writer().print()
должен вывести его правильно.
Не связан с StackOverflow