Maison >développement back-end >C++ >Comment puis-je encoder et décoder les caractères Unicode en C # pour préserver les caractères non ASCII?

Comment puis-je encoder et décoder les caractères Unicode en C # pour préserver les caractères non ASCII?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-28 04:56:08849parcourir

How Can I Encode and Decode Unicode Characters in C# to Preserve Non-ASCII Characters?

Gestion des personnages non ASCII dans C # Strings

L'échange de données contenant des caractères non ASCII, tels que la lettre grecque PI (π), nécessite une manipulation minutieuse pour empêcher la perte ou la corruption des données. Les méthodes de codage C # standard remplacent parfois ces personnages par des points d'interrogation. Cet article montre des méthodes personnalisées pour codage et décodant les caractères Unicode pour assurer une conservation précise.

codant pour les caractères non ASCII

La fonction EncodeNonAsciiCharacters traite chaque caractère dans une chaîne. Les caractères au-delà de la gamme ASCII (au-dessus de 127) sont convertis en leurs séquences d'échappement HexaDecimal Unicode à quatre chiffres (par exemple, "UXXXX"). Les caractères ASCII restent inchangés.

Décodage des caractères Unicode échappés

La fonction DecodeEncodedNonAsciiCharacters utilise des expressions régulières pour identifier et remplacer les séquences d'échappement Unicode par leurs caractères Unicode correspondants. Il analyse la partie hexadécimale de la séquence d'évasion, la convertit en entier et la jette en char.

Exemple et résultats

Voici un extrait de code C # illustrant le processus de codage et de décodage:

<code class="language-csharp">string unicodeString = "This string contains the Unicode character Pi(π)";
Console.WriteLine(unicodeString); // Original string

string encodedString = EncodeNonAsciiCharacters(unicodeString);
Console.WriteLine(encodedString); // Encoded string with escape sequences

string decodedString = DecodeEncodedNonAsciiCharacters(encodedString);
Console.WriteLine(decodedString); // Decoded string, matching the original</code>

La sortie affichera la chaîne d'origine, la chaîne avec des caractères Unicode remplacée par des séquences d'échappement, et enfin, la chaîne correctement décodée, démontrant la conversion aller-retour réussie. Cette technique garantit une manipulation fiable des personnages non ASCII dans vos applications C #.

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:
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