Comment convertir des paires de substitution en chaînes normales en Python ?

Linda Hamilton
Libérer: 2024-11-04 06:18:29
original
952 Les gens l'ont consulté

How to Convert Surrogate Pairs to Normal Strings in Python?

Conversion de paires de substitution en chaîne normale en Python

Cette question recherche une méthode pour transformer une chaîne Python Unicode contenant des paires de substitution en une chaîne standard représentation. Le but est d'obtenir un caractère Unicode intelligible ou un format hexadécimal standardisé.

L'extrait de code fourni présente une chaîne Python qui inclut une paire de substitution représentant un emoji :

<code class="python">emoji = "This is \ud83d\ude4f, an emoji."</code>
Copier après la connexion

Pour résoudre le problème, il est crucial de faire la distinction entre les chaînes de paire de substitution littérale dans un fichier JSON sur le disque (six caractères) et les chaînes de paire de substitution à caractère unique en mémoire (un caractère).

Si la chaîne est un caractère unique paire de substitution trouvée dans le code source Python (comme l'exemple fourni), cela indique un bug potentiel en amont. Si cela se produit et ne peut pas être résolu, le gestionnaire d'erreurs surrogatepass peut être utilisé :

<code class="python">"\ud83d\ude4f".encode('utf-16', 'surrogatepass').decode('utf-16')</code>
Copier après la connexion

Cela affichera le caractère Unicode correspondant, représenté sous la forme d'un point d'interrogation (?):

'?'
Copier après la connexion

Dans le cas de chaînes de paires de substitution littérales dans un fichier JSON sur disque, la paire de substitution ne doit pas être présente après le chargement des données JSON :

<code class="python">ascii(json.loads(r'"\ud83d\ude4f"'))</code>
Copier après la connexion

Cela affichera le format hexadécimal standardisé pour le caractère Unicode :

'\U0001f64f'
Copier après la connexion

Comprendre cette distinction est essentiel pour gérer les paires de substitution en Python et les convertir dans un format utilisable.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!