Pregunta

¿Cómo puedo convertir uno? String con caracteres decodificados en Codepage 1252 en un String Decodificado en Codepage 1250.

Por ejemplo

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

Quiero encontrar tal convert() función, esa salida impresa sería:

ęąśżźćńłó

Estos son personajes específicos de polaco.

Gracias por cualquier sugerencia.

¿Fue útil?

Solución

Es bastante sencillo:

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

Tenga en cuenta que System.out.print() puede introducir Otra conversión incorrecta debido a la falta de coincidencia entre las páginas de código ANSI y OEM. Sin embargo System.console().writer().print() Debe sacarlo correctamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top