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

Comment convertir correctement UTF-8 en ISO-8859-1 en C# ?

Patricia Arquette
Libérer: 2025-01-08 14:11:46
original
380 Les gens l'ont consulté

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

Résoudre le problème de conversion UTF-8 vers ISO-8859-1 en C#

Lors de la conversion de chaînes UTF-8 en ISO-8859-1, vous pouvez rencontrer des erreurs de résultat si elles ne sont pas traitées correctement. Analysons le problème et apportons une solution.

Code et questions

L'extrait de code que vous avez fourni tente de convertir UTF-8 en ISO-8859-1 à l'aide de Encoding.GetString et Encoding.GetBytes. Cependant, pour cette conversion particulière, des étapes supplémentaires sont nécessaires.

Solution : utilisez Encoding.Convert

Pour ajuster correctement le tableau d'octets avant le décodage vers l'encodage cible, Encoding.Convert doit être utilisé. Voici le code modifié :

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

Explication

Encoding.GetEncodingRécupère l'encodeur et le décodeur pour un encodage de caractères spécifique. Encoding.GetBytesEncodez la chaîne source UTF-8 dans un tableau d'octets. Cependant, décoder ce tableau d'octets directement à l'aide de Encoding.GetString ne produit pas la chaîne ISO-8859-1 souhaitée.

Encoding.ConvertAjustez le tableau d'octets pour qu'il corresponde à l'encodage cible. Dans ce cas, il convertit les octets pour qu'ils correspondent au codage ISO-8859-1. Le tableau d'octets ajusté peut ensuite être décodé en une chaîne ISO-8859-1 correcte. Encoding.GetString

Résultats

Après avoir appliqué cette modification, votre chaîne résultante sera correctement convertie en ISO-8859-1 et ne sera pas tronquée.

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!

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