Maison > développement back-end > C++ > Comment convertir correctement une chaîne UTF-8 en ISO-8859-1 en C# ?

Comment convertir correctement une chaîne UTF-8 en ISO-8859-1 en C# ?

Patricia Arquette
Libérer: 2025-01-08 14:34:40
original
337 Les gens l'ont consulté

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

Convertir correctement les chaînes UTF-8 en ISO-8859-1 en C#

La conversion directe d'une chaîne UTF-8 en ISO-8859-1 peut entraîner une perte de données ou des résultats incorrects. La clé est de gérer correctement la représentation sous forme de tableau d’octets de la chaîne. Une erreur courante consiste à décoder incorrectement les octets UTF-8 en utilisant le codage ISO-8859-1.

La solution implique un processus en deux étapes : d'abord convertir le tableau d'octets UTF-8 en un tableau d'octets ISO-8859-1, puis décoder ce tableau d'octets à l'aide du codage ISO-8859-1. Cela évite une mauvaise interprétation des octets.

Voici le code C# corrigé :

<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>
Copier après la connexion

Cette approche utilise Encoding.Convert pour effectuer une conversion octet par octet appropriée, garantissant que la chaîne résultante reflète avec précision les données d'origine dans les limites du codage ISO-8859-1 (qui ne prend en charge qu'un sous-ensemble de caractères présents en UTF-8). N'oubliez pas que les caractères non représentables en ISO-8859-1 seront perdus ou remplacés lors de cette conversion.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal