Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Geoinquietos Madrid - Python 2.x y los encodings

316 views

Published on

Small presentation about how Python 2.x handle encodings. In Spanish.

Published in: Engineering
  • Be the first to comment

Geoinquietos Madrid - Python 2.x y los encodings

  1. 1. UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 10: ordinal not in range(128) UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-8: ordinal not in range(128) ¿Os ha pasado alguna vez? miércoles 31 de julio de 2013
  2. 2. Fundamental El texto plano NO EXISTE (y no son los padres) miércoles 31 de julio de 2013
  3. 3. Encoding Una cadena de texto no tiene sentido si no especificamos qué encoding se está usando para mostrarla miércoles 31 de julio de 2013
  4. 4. Encoding Conjunto de reglas que asignan valores numéricos a cada carácter de texto miércoles 31 de julio de 2013
  5. 5. Problema en Python 2.x Python 2.x usa por defecto encoding ASCII (o sea, que no sabe qué hacer con los caracteres cuya representación es un byte mayor que 127) miércoles 31 de julio de 2013
  6. 6. Encoding ASCII miércoles 31 de julio de 2013
  7. 7. ¿Qué hacemos? Usar otro encoding (Python 2.x soporta más de 100) miércoles 31 de julio de 2013
  8. 8. Otros encodings miércoles 31 de julio de 2013
  9. 9. Otros encodings miércoles 31 de julio de 2013
  10. 10. ¿Cuál elegir? UTF-8 Longitud variable, soporte completo de Unicode miércoles 31 de julio de 2013
  11. 11. Unicode Mapea caracteres con “code points”, no con enteros (1 - 127). Hay 1.114.122 puntos de código (capaz de representar cualquier lenguaje) miércoles 31 de julio de 2013
  12. 12. Unicode miércoles 31 de julio de 2013
  13. 13. Unicode Ian Albert 22017x42807 px miércoles 31 de julio de 2013
  14. 14. Unicode y Python 2.x miércoles 31 de julio de 2013
  15. 15. Unicode y Python 2.x Str: secuencia de bytes Unicode: secuencia de codepoints miércoles 31 de julio de 2013
  16. 16. Unicode y Python 2.x Python intenta transformar texto en Unicode de manera automática miércoles 31 de julio de 2013
  17. 17. Unicode <-> Str miércoles 31 de julio de 2013
  18. 18. Cómo trabajar • 1. Decode early • 2. Unicode everywhere • 3. Encode late miércoles 31 de julio de 2013
  19. 19. Más información • http://www.joelonsoftware.com/articles/ Unicode.html • http://nedbatchelder.com/text/unipain/ unipain.html • http://farmdev.com/talks/unicode/ miércoles 31 de julio de 2013

×