chr() en Python: ¿Cómo convertir números a caracteres fácilmente?

| Última modificación: 11 de diciembre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

En la ardua tarea de aprender a trabajar con caracteres y sus códigos numéricos, Python es nuestra tabla de salvación al facilitar esta labor por medio de la función chr(), en la que se convierten números en caracteres. Quédate para saber más sobre una de las funciones en python más útiles y su funcionamiento.

chr() en Python

¿Qué es chr() en Python?

La función de chr() en python lo que hace es tomar un número entero que representa un punto de código unicode y devolver el caracter correspondiente. Es decir , convierte números en símbolos o letras, esto es muy recomendado sobretodo si trabajas con datos en formato textual o si necesitas interpretar códigos Unicode.

¿Cómo se utiliza chr()?

La sintaxis de chr() va así:

chr(numero)

El argumento de número debe corresponder a un entero válido dentro de un rango de puntos de código unicode, es decir, de 0 a 1, 114, 111. Si proporcionas un valor fuera de ese rango, Python inmediatamente va a generar un error.

Veamos un ejemplo mejor:

codigo = 97
print(chr(codigo))

El resultado será:

a

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Esto significa que el código 97 en Unicode corresponde al carácter “a”.

¿Qué puede hacer chr()?: ejemplos

Algunos ejemplos de lo que puede hacer esta función te los mostramos a continuación:

  • Conversión de códigos numéricos a caracteres: puedes convertir números que representen distintos puntos de código unicode a sus caracteres correspondientes. Veamos cómo hacerlo con algunos ejemplos:
# Caracteres alfabéticos
print(chr(65)) # Salida: A
print(chr(97)) # Salida: a

# Caracteres especiales
print(chr(8364)) # Salida: €
print(chr(169)) # Salida: ©
  • Manejo de errores con chr(): Si intentas usar chr con un número fuera del rango permitido, obtendrás un error. Mira este ejemplo:
print(chr(2000000))

Esto generará el siguiente mensaje:

ValueError: chr() arg not in range(0x110000)

El error ValueError indica que el valor proporcionado está fuera del rango de puntos de código Unicode.

¿Cómo podemos aplicar chr() en la vida real?

La función chr() se utiliza en una amplia variedad de casos, tales como:

  1. Generar tablas de caracteres Unicode: Puedes iterar sobre un rango de números para crear tablas de símbolos.
  2. Decodificar datos: Útil para interpretar valores numéricos en formatos de texto.
  3. Diseño de interfaces: Para generar caracteres especiales o íconos basados en Unicode.

Describamos un ejemplo para generar un rango de letras mayúsculas:

for codigo in range(65, 91):
print(chr(codigo), end=" ")

La salida será:

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
  • ¿Cómo funciona chr() con Unicode?: Unicode es un estándar que le asigna un código únic a cada caracter, símbolo o emoji utilizado en diferentes sistemas. Es decir, chr aprovecha dicha codificación para convertir números en sus equivalentes referentes textuales. Por ejemplo:
print(chr(128512))  # Emoji (carita feliz)
print(chr(128515))  # Emoji (carita feliz)

Estos códigos son parte del rango Unicode que incluye emojis y otros caracteres especiales.

Diferencias entre chr() y ord()

Mientras chr() convierte un número en un carácter, su función complementaria, ord(), realiza el proceso inverso: convierte un carácter en su código numérico Unicode. Por ejemplo:

print(ord('A'))  # Salida: 65
print(chr(65)) # Salida: A

Estas dos funciones son ideales para trabajar con codificación de texto en Python. Veamos un cuadro comparativo para entender mejor en qué se diferencian:

Aspectochr()ord()
Función principalConvierte un número entero en un carácter.Convierte un carácter en su código numérico Unicode.
Tipo de entradaUn número entero válido dentro del rango Unicode (0 a 1,114,111).Un carácter (string de un solo carácter).
Tipo de salidaUna cadena de texto que representa el carácter Unicode.Un número entero que representa el punto de código Unicode.
Errores comunesGenera un ValueError si el número está fuera del rango Unicode.Genera un TypeError si la entrada no es un carácter válido.
Uso comúnCrear caracteres a partir de códigos Unicode, como letras o símbolos.Obtener el código Unicode de un carácter para almacenamiento o análisis.
Ejemplo de usochr(65) devuelve 'A'.ord('A') devuelve 65.

Consejos para usar chr() como un experto

  1. Asegúrate de usar números válidos: Antes de usar chr(), verifica que el número esté dentro del rango de puntos de código Unicode para evitar errores.
  2. Combínala con bucles: Chr() es perfecta para generar secuencias de caracteres, como alfabetos o tablas de símbolos.
  3. Úsala en conjunto con ord(): Aprovecha ambas funciones para realizar conversiones bidireccionales entre caracteres y sus códigos.

Si quieres pulir tus habilidades o iniciarte en el mmundo de la programación, tenemos el curso perfecto para ti. Se trata del bootcamp en programación desde cero, con el cual adquirirás las habilidades necesarias para triunfar en el mundo laboral. ¡Da el salto y transforma tu vida ya mismo!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.