Вопрос

Как я могу преобразовать один 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() должен вывести его правильно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top