Diferencia entre revisiones de «Usuario:Lmorillas/intropyaytozgz/unicode»
De WikiEducator
(Página creada con '{{MiTitulo|Unicode y encodings}} {{Conocimiento previo| Una cadena Unicode es una secuencia de '''code points''', que son números de 0 a 0x10ffff. Esta secuencia se tiene que…') |
|||
Línea 4: | Línea 4: | ||
{{Conocimiento previo| | {{Conocimiento previo| | ||
Una cadena Unicode es una secuencia de '''code points''', que son números de 0 a 0x10ffff. Esta secuencia se tiene que representar en un conjunto de bytes (valores de 0 a 255) en memoria. Las reglas para traducir una cadena Unicode a una secuencia de bytes se llama '''encoding'''. | Una cadena Unicode es una secuencia de '''code points''', que son números de 0 a 0x10ffff. Esta secuencia se tiene que representar en un conjunto de bytes (valores de 0 a 255) en memoria. Las reglas para traducir una cadena Unicode a una secuencia de bytes se llama '''encoding'''. | ||
+ | }} | ||
+ | |||
+ | |||
+ | {{Objetivo|Title=El problema| | ||
+ | '''¿Qué significa esto?''' | ||
+ | UnicodeDecodeError: 'ascii' codec | ||
+ | can't decode byte 0xc4 in position | ||
+ | 10: ordinal not in range(128) | ||
+ | }} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | {{Objetivo|Title=Normalizar cadena| | ||
+ | <source lang="python"> | ||
+ | import unicodedata | ||
+ | |||
+ | def textplain(s): | ||
+ | |||
+ | def normalize(c): | ||
+ | return unicodedata.normalize("NFD",c)[0] # NFD: Normal Form Decomposition | ||
+ | |||
+ | return ''.join(normalize(c) for c in s) | ||
+ | |||
+ | >>> textplain('una cigüeña hábil') | ||
+ | "una ciguena habil" | ||
+ | |||
+ | </source> | ||
}} | }} |
Revisión de 08:22 3 dic 2012
Una cadena Unicode es una secuencia de code points, que son números de 0 a 0x10ffff. Esta secuencia se tiene que representar en un conjunto de bytes (valores de 0 a 255) en memoria. Las reglas para traducir una cadena Unicode a una secuencia de bytes se llama encoding.
|
¿Qué significa esto? UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 10: ordinal not in range(128) |