Es común que en ciertas ocasiones se quiera representar un texto Unicode en ASCII. Por ejemplo, si se necesita crear un archivo en alguna plataforma que no soporte Unicode, o crear un URL a partir de un título. El módulo unidecode provee la solución: una simple función que toma una cadena Unicode y retorna su respectiva representación en ASCII. La tabla ASCII de 7 bits presenta 128 caracteres (del 0 al 127), de los cuales 95 son imprimibles:
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _
` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~
Instalación
La forma más sencilla es vía pip:
pip install unidecode
También puedes descargar Unidecode de aquí y ejecutar:
python setup.py install
python setup.py test
Y para obtener la última versión en desarrollo:
git clone http://www.tablix.org/~avian/git/unidecode.git
Ejemplos
La función unidecode
toma un objecto Unicode en Python 2 o una cadena en Python 3.
Python 2:
from unidecode import unidecode print unidecode(u"áéíóú") print unidecode(u"ko\u017eu\u0161\u010dek")
Python 3:
from unidecode import unidecode print(unidecode("áéíóú")) print(unidecode("ko\u017eu\u0161\u010dek"))
Imprime:
aeiou
kozuscek
Versión
Python 2, Python 3
Curso online 👨💻
¡Ya lanzamos el curso oficial de Recursos Python en Udemy!
Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter
en 2024.
Consultoría 💡
Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.