Diferencia entre revisiones de «Usuario:Lmorillas/intropyaytozgz/unicode»

De WikiEducator
Saltar a: navegación, buscar
(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




Icon preknowledge.gif

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.





Icon objectives.jpg

El problema

¿Qué significa esto?

 UnicodeDecodeError: 'ascii' codec
 can't decode byte 0xc4 in position
 10: ordinal not in range(128)




Icon objectives.jpg

Normalizar cadena

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"