Heim > Backend-Entwicklung > C++ > Wie konvertiert man einen UTF-8-String in C# korrekt in ISO-8859-1?

Wie konvertiert man einen UTF-8-String in C# korrekt in ISO-8859-1?

Patricia Arquette
Freigeben: 2025-01-08 14:34:40
Original
337 Leute haben es durchsucht

How to Correctly Convert a UTF-8 String to ISO-8859-1 in C#?

UTF-8-Zeichenfolgen korrekt in ISO-8859-1 in C# konvertieren

Die direkte Konvertierung einer UTF-8-Zeichenfolge in ISO-8859-1 kann zu Datenverlust oder falschen Ergebnissen führen. Der Schlüssel liegt darin, die Byte-Array-Darstellung der Zeichenfolge korrekt zu verarbeiten. Ein häufiger Fehler besteht darin, die UTF-8-Bytes falsch mit der ISO-8859-1-Kodierung zu dekodieren.

Die Lösung umfasst einen zweistufigen Prozess: Zuerst wird das UTF-8-Byte-Array in ein ISO-8859-1-Byte-Array konvertiert und dann dieses Byte-Array mithilfe der ISO-8859-1-Kodierung dekodiert. Dadurch wird eine Fehlinterpretation der Bytes vermieden.

Hier ist der korrigierte C#-Code:

<code class="language-csharp">Encoding iso = Encoding.GetEncoding("ISO-8859-1");
Encoding utf8 = Encoding.UTF8;
byte[] utfBytes = utf8.GetBytes(Message);
byte[] isoBytes = Encoding.Convert(utf8, iso, utfBytes);
string msg = iso.GetString(isoBytes);</code>
Nach dem Login kopieren

Dieser Ansatz verwendet Encoding.Convert, um eine ordnungsgemäße Byte-für-Byte-Konvertierung durchzuführen und sicherzustellen, dass die resultierende Zeichenfolge die Originaldaten innerhalb der Einschränkungen der ISO-8859-1-Kodierung (die nur eine Teilmenge der vorhandenen Zeichen unterstützt) genau widerspiegelt in UTF-8). Denken Sie daran, dass Zeichen, die in ISO-8859-1 nicht darstellbar sind, bei dieser Konvertierung verloren gehen oder ersetzt werden.

Das obige ist der detaillierte Inhalt vonWie konvertiert man einen UTF-8-String in C# korrekt in ISO-8859-1?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage