Maison >développement back-end >C++ >Comment coder et décoder les caractères Unicode en C #?
Le codage et le décodage du caractère Unicode dans le C #
Dans C #,
La classe est utilisée pour le codage et le décodage des caractères. Cependant, il a des limites lors du traitement du caractère Unicode en dehors de la plage ASCII. Afin de conserver les caractères non-ascii (tels que les lettres grecques pi (π)), nous devons utiliser des technologies spécifiques.
Encoding
Encodage de caractères Unicode
Pour coder le caractère Unicode dans la chaîne ASCII de la justice, nous utilisons les méthodes suivantes:
Cette méthode remplace les caractères non -ascii à sa forme ASCII de transition correspondante, telle que "π" à "U03A0".
<code class="language-csharp">static string EncodeNonAsciiCharacters(string value) { StringBuilder sb = new StringBuilder(); foreach (char c in value) { if (c > 127) { string encodedValue = "\u" + ((int)c).ToString("x4"); sb.Append(encodedValue); } else { sb.Append(c); } } return sb.ToString(); }</code>Transférer le décodage des caractères ASCII
Pour décoder la chaîne ASCII juste vers Unicode, nous utilisons des expressions régulières:
Cette expression régulière remplace tous les caractères Unicode re-rights (uxxxx) à son caractère Unicode correspondant, par exemple "u03a0" devient "π".Exemple d'utilisation
<code class="language-csharp">static string DecodeEncodedNonAsciiCharacters(string value) { return Regex.Replace(value, @"\u(?<value>[a-zA-Z0-9]{4})", m => { return ((char)int.Parse(m.Groups["Value"].Value, NumberStyles.HexNumber)).ToString(); }); }</code>
L'exemple suivant illustre le processus de code et de décodage:
Cet exemple conserve le caractère non -ascii PI pendant l'ensemble du code et du processus de décodage.
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!