Maison >développement back-end >C++ >Comment coder et décoder les caractères Unicode dans ASCII échappé?

Comment coder et décoder les caractères Unicode dans ASCII échappé?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-28 05:01:09404parcourir

How to Encode and Decode Unicode Characters in Escaped ASCII?

Unicode et échappé ASCII: codage et décodage

De nombreuses tâches de programmation nécessitent la manipulation des caractères Unicode. Un besoin commun consiste à convertir Unicode en son équivalent ASCII échappé, simplifiant le stockage et la transmission des données. Cela implique de remplacer les caractères non ASCII par leurs séquences d'échappement Unicode (par exemple, "uxxxx").

Encodant Unicode pour échapper à ASCII:

Ce processus peut être réalisé en utilisant un algorithme simple:

<code class="language-csharp">static string EncodeUnicodeToAscii(string input)
{
    StringBuilder result = new StringBuilder();
    foreach (char c in input)
    {
        if (c > 127) // Check for non-ASCII characters
        {
            result.Append("\u" + ((int)c).ToString("x4")); // Append escape sequence
        }
        else
        {
            result.Append(c); // Append ASCII characters directly
        }
    }
    return result.ToString();
}</code>

La fonction itère via la chaîne Unicode. Les caractères non ASCII (ceux qui ont des valeurs supérieurs à 127) sont convertis en leurs séquences d'échappement hexadécimales. Les caractères ASCII restent inchangés.

Décodage a échappé ASCII à Unicode:

Décodage ASCII a échappé à Unicode implique une stratégie différente:

<code class="language-csharp">static string DecodeAsciiToUnicode(string input)
{
    return Regex.Replace(input, @"\u(?<value>[a-fA-F0-9]{4})", match =>
    {
        return ((char)int.Parse(match.Groups["value"].Value, NumberStyles.HexNumber)).ToString();
    });
}</code>

Cette fonction utilise des expressions régulières pour localiser les séquences "uxxxx". Il extrait la valeur hexadécimale, l'analyse comme un entier et le convertit en son équivalent de caractère Unicode. La sortie est la chaîne Unicode d'origine.

Ces méthodes fournissent un codage et un décodage efficaces entre Unicode et les représentations ASCII échappées, assurant une bonne gestion des caractères spéciaux dans diverses applications.

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