Преобразовать строку из кодовой страницы 1252 в 1250 - PullRequest
3 голосов
/ 31 января 2011

Как я могу преобразовать один String с символами, декодированными в кодовой странице 1252, в String, декодированный в кодовой странице 1250.

Например

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

Я хочу найти такую ​​функцию convert(), что вывод на печать будет:

ęąśżźćńłó

Это символы, относящиеся к польскому языку.

Спасибо за любые предложения.

1 Ответ

6 голосов
/ 31 января 2011

Это довольно просто:

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

Обратите внимание, что System.out.print() может ввести другое неправильное преобразование из-за несоответствия между кодовыми страницами ANSI и OEM .Однако System.console().writer().print() должен вывести его правильно.

...