2010-04-20 29 views

Respuesta

52

La secuencia líder \x de escape significa los siguientes dos caracteres se interpretan como dígitos hexadecimales para el código de caracteres, por lo que es igual a \xaachr(0xaa), es decir, chr(16 * 10 + 10) - una pequeña levantada minúsculas 'a' carácter.

Las secuencias de escape se documentan en una breve tabla here en los documentos de Python.

+0

chr (170) puede interpretarse sin referencia a una codificación particular solo en el contexto de Python 3.X, y en realidad es un "indicador ordinal femenino" ... una peculiaridad de la ortografía española, junto con su hermano U + 00BA " indicador ordinal masculino ". –

+0

@John: en IronPython, como en Python 3, ''\ xaa'' es una cadena Unicode. ¿No vio la etiqueta "IronPython" en la pregunta? (Por cierto, me molesta su afirmación de que, por ejemplo, '2ª' para" segundo [[femenino]] "es" una peculiaridad de la ortografía española ", es decir, por ejemplo, ¿qué es el italiano, mi lengua materna, el hígado picado ?!) –

+0

¿qué haces si quieres tener más de 2 dígitos hexadecimales? – Hippolippo

-4

Eso es el carácter que escapa unicode. Consulte "Unicode de constructores" en la PEP 100

+2

No, no lo es. Es para definir un byte específico en 'str', no para hacer un punto de código Unicode, que se hace con la notación' u '\ u ... '. –

+0

@Mike, @Jake: Es para AMBOS. '\ xaa' es un objeto str. u '\ xaa' es un objeto Unicode. 'print repr (unichr (170))' produce 'u '\ xaa'' –

+0

Whoops. Muy mal leído. Gracias por el aviso. –

Cuestiones relacionadas