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?
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!