Читать книгу Python a fondo - Óscar Ramírez Jiménez - Страница 37

1.9.1 str, bytes y Unicode

Оглавление

Una de las diferencias principales entre las versiones de Python 2 y Python 3 es cómo se categorizan las cadenas de caracteres binarias y caracteres Unicode.

En Python 3 existen dos representaciones diferentes: bytes y str. Los objetos tipo bytes representan cadenas binarias de 8 bits y los tipo str contienen caracteres Unicode.

Sin embargo, en Python 2 la categorización era diferente: existían str y Unicode como tipos de cadenas de caracteres, y str incluía las cadenas de caracteres ASCII y binarias de 8 bits. Unicode tenia los caracteres de Unicode.

La verdadera diferencia entre ambas versiones se puede resumir en que en Python 3 se han unificado Unicode y las cadenas de caracteres ASCII bajo el tipo str, mientras que en Python 2, unicode y cadenas (tanto binarias como ASCII) estaban separadas en dos tipos.


Por tanto, hay que prestar especial atención cuando se migra código a Python 3 que hace operaciones con las cadenas de caracteres, porque puede que la aplicación no funcione correctamente tras la migración y eleve excepciones en tiempo de ejecución.

Python a fondo

Подняться наверх