2011-08-09 26 views
5

La cadena hexadecimal '\xd3' también se puede representar como: Ó.Convertir del carácter hexadecimal al carácter Unicode en python

La manera más fácil que he encontrado para conseguir la representación de caracteres de la cadena hexadecimal a la consola es:

print unichr(ord('\xd3')) 

O en Inglés, convertir la cadena hexadecimal a un número, a continuación, convertir ese número en una punto de código unicode, luego, finalmente, la salida a la pantalla. Esto parece un paso extra. hay una manera mas facil?

Respuesta

8
print u'\xd3' 

es todo lo que tienes que hacer. Solo necesitas decirle a Python que es un literal unicode; el líder u hace eso. Incluso funcionará para múltiples personajes.

Si no estamos hablando de un literal, sino una variable:

codepoints = '\xd3\xd3' 
print codepoints.decode("latin-1") 

Editar: Especificación de una codificación específica cuando print ING no funcionará si es compatible con su terminal de codificación, por lo que sólo vamos print hacer encode(sys.stdout.encoding) automáticamente. Gracias @ThomasK.

+0

Pero, ¿qué haces si tienes una cuerda compuesta de puntos de código? ¿Cómo convertirías la cadena a la representación de cadena real? ¿'U' es una función? ¿Podemos escribir 'u (some_string)'? – Geo

+0

@Geo: 'u' no es una función, es parte de la sintaxis literal de la cadena. Pero, ¿qué es una 'cuerda compuesta de puntos de código'? –

+0

@Thomas He editado mi respuesta para cubrir eso. – agf

Cuestiones relacionadas