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:
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(); }
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:
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(); }); }
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!