Gewusst wie: konvertieren einer Zeichenfolge von iso 8859-1 zu utf-8? C# Windows phone 7
meine Frage ist ganz einfach, aber im moment weiß ich nicht, wie dies zu tun. Ich habe einen string in ISO-8859-1-format, und ich brauche, um zu konvertieren string in UTF-8. Ich muss es in c# auf windows phone 7 sdk. Wie kann ich es tun? Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zwei Klarstellungen zu den vorherigen Antworten:
Gibt es keine
Encoding.GetText
- Methode (es sei denn, es wurde speziell für die WP7-framework). Die Methode sollte vermutlichEncoding.GetString
.Den
Encoding.GetString
Methode nimmt einenbyte[]
parameter, nicht einstring
. Alle Zeichenfolgen in .NETTO sind intern dargestellt als UTF-16; es gibt keine Möglichkeit, ein "string in ISO-8859-1-format". So, Sie müssen vorsichtig sein, wie Sie Lesen deine Quelle (Datei -, Netzwerk), anstatt wie Bearbeiten Sie Ihren Text.Zum Beispiel zum Lesen aus einer Textdatei, codiert in ISO-8859-1, den Sie verwenden könnten:
Speichern in eine text-Datei in UTF-8 codiert, den Sie verwenden könnten:
Antwort Kommentar:
Ja. Sie können
Encoding.GetString
zu Dekodieren Sie Ihre byte-array (vorausgesetzt, es enthält Charakter-Werte für den text, die unter einer bestimmten Codierung) in einstring
, undEncoding.GetBytes
konvertieren Sie Ihrestring
zurück in ein byte-array (möglicherweise von einer anderen Kodierung), wie schon in den anderen Antworten.Dem Konzept der "Codierung" bezieht sich darauf, wie byte-Sequenzen (werden Sie ein
byte[]
array im Speicher oder den Inhalt einer Datei auf einem Datenträger) zu interpretieren. Diestring
Klasse ist im Bezug auf die Kodierung, dass der text gelesen oder gespeichert werden soll.Auf der MSDN-Seite für die
Encoding-Klasse
Listen der anerkannten Codierungen.Für Ihre Frage die richtige Wahl ist
iso-8859-1
die Sie übergeben können, umEncoding.GetEncoding
.