Es ist sinnvoll für viele Zeichensätze. Es gibt immer noch einige, die nicht in Unicode passen, aber nicht viele.
Denken Sie zunächst daran, dass die Bytes keine Zeichen sind, um mit Zeichen umzugehen, die Sie konvertieren müssen. In der Regel besteht die einfachste Möglichkeit darin, einen Byte-Stream in einen Reader (oder Writer) zu schreiben Kodier-/Dekodierungs-Set.
Für eine Liste der direkt unterstützten Kodierungen, here's what comes with the JVM.
Der Schlüssel besteht nicht darin, Standard-Leser und -Schreiber zu verwenden, da sie die Codierung der Plattform verwenden. Wählen Sie stattdessen eine Kodierung. UTF-8 hat eine gute Plattengröße, schlechte Codier-/Decodierleistung; während UTF-32 ist schrecklich auf die Größe der Festplatte und exzellent auf Encoding/Decoding-Leistung. UTF-16 ist so etwas wie ein Kompromiss. Alle UTF-basierten Kodierungen optimieren die Handhabung von ASCII-Zeichen etwas effizienter, so dass UTF-8 UTF-16 schlägt, wenn Sie nur mit ASCII arbeiten.
Beachten Sie, dass Sie keine Bytes in einen neuen Zeichensatz konvertieren können, sie werden in den neuen Zeichensatz "gegossen". Wenn Sie also Bytes in einen neuen Zeichensatz konvertieren möchten, müssen Sie sie in Strings oder Characters umwandeln und die Bytes des Strings im neuen Zeichensatz abfragen.
Eine Möglichkeit, einen Byte-Stream als InputStream mit einem eigenen angegebenen Zeichensatz zu lesen, ist die Verwendung eines InputStreamReader constructed with an alternate character set. Ebenso müssen Sie einen OutputStreamWriter verwenden, der mit einem alternativen Zeichensatz erstellt wurde.
Alle Dateien, die nicht direkt verwaltet werden, sollten den Plattform-Zeichensatz verwenden (da dies wahrscheinlich der Fall ist) und in den Zeichensatz der Wahl konvertiert werden, wenn sie gespeichert oder in das Programm eingegeben werden.
Was genau meinen Sie mit "vernünftig in englischer Sprache"? Ob es in Englisch sinnvoll ist, spielt für die Codierung keine Rolle. Wenn Sie nur von einer Codierung in eine andere konvertieren müssen, dann ist die Antwort von Herms richtig. –
Ich weiß, es ist irrelevant für die Codierung. Ich möchte etwas mehr tun, als nur von einer Codierung in eine andere zu konvertieren. Ich möchte in eine andere Kodierung für ein Gebietsschema konvertieren und dann ein Ergebnis erhalten, das vernünftig ist (dh Sie können es in einem englischen Wörterbuch nachschlagen, wenn das Gebietsschema eine englische Sprache darstellt), – stevebot