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 19:22 2 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) |