Domanda

Come posso convertire uno String con caratteri decodificati in CODEPAGE 1252 in a String Decodificato in CODEPAGE 1250.

Per esempio

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

Voglio trovarlo convert() funzione, quell'output stampato sarebbe:

ęąśżźćńłó

Questi sono personaggi specifici per polacco.

Grazie per qualsiasi suggerimento.

È stato utile?

Soluzione

È piuttosto semplice:

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

Notare che System.out.print() può introdurre Un'altra conversione errata dovuta alla mancata corrispondenza tra pagine di codice ANSI e OEM. Tuttavia System.console().writer().print() dovrebbe superarlo correttamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top