Question

Comment puis-je convertir un String avec des caractères décodés dans codepage 1252 dans un String décodé en 1250 codepage.

Par exemple

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

Je veux trouver une telle fonction convert(), que la sortie imprimée serait:

ęąśżźćńłó

Ce sont des caractères spécifiques polonais.

Merci pour toutes les suggestions.

Était-ce utile?

La solution

Il est assez simple:

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

Notez que System.out.print() peut introduire une autre conversion incorrecte en raison de non-concordance entre les pages de code ANSI et OEM . Cependant System.console().writer().print() devrait afficher correctement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top