"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo convertir pares sustitutos en cadenas normales en Python?

¿Cómo convertir pares sustitutos en cadenas normales en Python?

Publicado el 2024-12-21
Navegar:393

How to Convert Surrogate Pairs to Normal Strings in Python?

Conversión de pares sustitutos en cadenas normales en Python

Esta pregunta busca un método para transformar una cadena Python Unicode que contiene pares sustitutos en una cadena estándar representación. El objetivo es obtener un carácter Unicode inteligible o un formato hexadecimal estandarizado.

El fragmento de código proporcionado presenta una cadena de Python que incluye un par sustituto que representa un emoji:

emoji = "This is \ud83d\ude4f, an emoji."

Para resolver el problema, es crucial distinguir entre cadenas de pares sustitutos literales en un Archivo JSON en el disco (seis caracteres) y cadenas de pares sustitutos de un solo carácter en la memoria (un carácter).

Si la cadena es un par sustituto de un solo carácter que se encuentra en el código fuente de Python (como el ejemplo proporcionado) , indica un posible error en sentido ascendente. Si se encuentra esto y no se puede resolver, se puede emplear el controlador de errores surrogatepass:

"\ud83d\ude4f".encode('utf-16', 'surrogatepass').decode('utf-16')

Esto generará el carácter Unicode correspondiente, representado como un signo de interrogación. (?):

'?'

En el caso de cadenas de pares sustitutos literales en un archivo JSON en el disco, el par sustituto no debe estar presente después de cargar los datos JSON:

ascii(json.loads(r'"\ud83d\ude4f"'))

Esto generará el formato hexadecimal estandarizado formato para el carácter Unicode:

'\U0001f64f'

Comprender esta distinción es esencial para manejar pares sustitutos en Python y convertirlos a un formato utilizable.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3