Saltar al contenido

Inversor de Texto: Invertir Texto y Voltear Caracteres al Instante

Herramienta gratuita en línea para invertir texto que permite revertir cualquier cadena al instante. Voltea caracteres, verifica palíndromos y crea texto al revés. Funciona con Unicode, emojis e idiomas.

Herramienta de Inversión de Texto

Ingrese o pegue cualquier texto a continuación para invertir instantáneamente el orden de los caracteres. Vea los resultados en tiempo real mientras escribe.

Calculadora de carga...
📚

Documentación

¿Qué es un inversor de texto?

Un inversor de texto es una herramienta que invierte el orden de los caracteres de un fragmento de texto. Al escribir «hello» se obtiene «olleh». Funciona escribiendo cada carácter de la entrada al revés, desde el último hasta el primero. Se utiliza para crear texto invertido, comprobar si una palabra es un palíndromo o estudiar cómo funciona la inversión de cadenas en programación.

Cómo usar el inversor de texto

  1. Escriba o pegue texto en el cuadro de entrada.
  2. El texto invertido aparece debajo en cuanto se deja de escribir. No es necesario pulsar ningún botón.
  3. Pulse el botón de copiar para copiar el resultado.

El botón de reinicio borra tanto la entrada como el resultado. La herramienta acepta hasta 10.000 caracteres; si el texto es más largo, muestra un mensaje de error que pide acortarlo. El límite cuenta unidades de código UTF-16, las piezas pequeñas en las que un navegador almacena el texto, por lo que la mayoría de los emoji cuentan como dos.

Fórmula de inversión de texto

Para una cadena de longitud n formada por los caracteres c1c2…cnc_1 c_2 \dots c_n, la cadena invertida es:

S′=cncn−1…c2c1S' = c_n c_{n-1} \dots c_2 c_1

En palabras sencillas: el último carácter pasa a ser el primero, el penúltimo pasa a ser el segundo, y así sucesivamente hasta que el primer carácter pasa a ser el último.

Cómo funciona el algoritmo, paso a paso

  1. Comience con un resultado vacío.
  2. Tome el último carácter de la entrada y añádalo al resultado.
  3. Tome el penúltimo carácter y añádalo.
  4. Repita el proceso hasta haber añadido todos los caracteres en orden inverso.

La mayoría de las herramientas de inversión trabajan con caracteres individuales del ordenador. Esta herramienta, en cambio, agrupa cada emoji, bandera y letra con acento en una sola unidad antes de invertir, con un método llamado segmentación en grupos de grafemas. La sección siguiente explica por qué importa.

Ejemplo resuelto

Entrada: Hello, World!

Invertido: !dlroW ,olleH

Cada carácter, incluidos la coma, el espacio y el signo de exclamación, conserva su identidad. Solo cambia el orden.

Tratamiento de emojis, acentos y otros caracteres Unicode

Un solo carácter visible, como un emoji o una letra con acento, suele almacenarse como más de una unidad oculta. Unicode llama al carácter visible "user-perceived character" o grupo de grafemas, y puede estar formado por varios puntos de código. Un punto de código es un carácter Unicode numerado, como una letra o una marca de acento independiente. Los navegadores también almacenan muchos puntos de código, entre ellos la mayoría de los emoji, como dos unidades de código más pequeñas. Un método de inversión que da la vuelta a esas unidades una por una, sin tener en cuenta cuáles van juntas, puede romper un carácter.

Por ejemplo, «Hello 👍» contiene un emoji de pulgar hacia arriba formado por un par de unidades ocultas. Una inversión básica por unidades puede separar ese par y producir símbolos dañados en lugar del emoji. Esta herramienta evita el problema tratando cada emoji, bandera y letra acentuada como una sola unidad, de modo que «Hello 👍» se convierte correctamente en «👍 olleH». Un emoji de bandera, formado por dos símbolos ocultos que representan un código de país, también se mantiene intacto: «🇺🇸 USA» se invierte como «ASU 🇺🇸», en lugar de separar la bandera.

Usos habituales

  • Comprobación de palíndromos: un palíndromo se lee igual hacia delante y hacia atrás, como «racecar». Comparar una palabra con su versión invertida es una forma de comprobarlo.
  • Aprendizaje de programación: invertir una cadena es un ejercicio habitual para practicar con bucles, arreglos y pilas.
  • Juegos de palabras y rompecabezas: las palabras invertidas se utilizan para ocultar mensajes en rompecabezas y salas de escape.
  • Efectos de diseño: algunos diseñadores invierten el texto para crear logotipos reflejados o efectos visuales.
  • Depuración: comparar el texto normal con el invertido puede ayudar a detectar ciertos errores de datos.

Inversión de caracteres frente a inversión de palabras

Estas dos operaciones suelen confundirse.

  • Inversión de caracteres (lo que hace esta herramienta): se invierte cada carácter. "Hello World" pasa a ser "dlroW olleH".
  • Inversión de palabras: cada palabra queda intacta, pero cambia el orden de las palabras. "Hello World" pasa a ser "World Hello".

Una breve historia

La escritura invertida y reflejada es anterior a los ordenadores en miles de años. Algunas inscripciones griegas antiguas utilizaban un estilo llamado bustrofedon, en el que las líneas alternaban la dirección, de izquierda a derecha y luego de derecha a izquierda, de forma similar a cómo un buey ara un campo. Leonardo da Vinci escribió gran parte de sus cuadernos con escritura especular, legible solo al sostenerlos frente a un espejo; los historiadores aún debaten si lo hacía por mantener el secreto, por comodidad al ser zurdo o para evitar que la tinta se emborronara.

En informática, invertir una cadena es un ejercicio habitual de programación desde los primeros tiempos de la ciencia de la computación. A menudo se utiliza para enseñar cómo funcionan las pilas y los arreglos, ya que insertar caracteres en una pila y extraerlos invierte automáticamente su orden.

Cómo invertir texto en código

La mayoría de los lenguajes de programación incluyen una forma integrada o sencilla de invertir una cadena:

1text = "Hello, World!"
2print(text[::-1])  # !dlroW ,olleH
3

Ambos ejemplos invierten correctamente el texto formado por letras y números ordinarios y por emoji de una sola unidad, como 🌍. Aun así, pueden separar un carácter formado por varias unidades ocultas, como algunos emoji de bandera, las letras acentuadas escritas con una marca de acento independiente o los emoji de familia unidos con caracteres conectores especiales. La inversión completa que respeta los grafemas, el método que usa esta herramienta, necesita una función específica, como Intl.Segmenter de JavaScript.

Rendimiento

Invertir texto requiere un tiempo lineal: el algoritmo examina cada carácter exactamente una vez, por lo que duplicar la entrada aproximadamente duplica el trabajo. En el texto normal, desde una sola palabra hasta varias páginas, el resultado aparece prácticamente al instante. Los archivos muy grandes, del orden de megabytes o más, se gestionan mejor con programas especializados que procesan los datos en flujo en lugar de cargarlos todos a la memoria de una vez.

Preguntas frecuentes

¿Cómo invierto texto en línea?

Pegue o escriba el texto en el cuadro de arriba. El texto invertido aparece automáticamente en cuanto deja de escribir. Use el botón de copiar para copiar el resultado.

¿Hay una longitud máxima para el texto?

Sí. La herramienta acepta hasta 10.000 caracteres, contados como unidades de código UTF-16, por lo que un emoji suele contar como dos. Un texto más largo produce un mensaje de error en lugar de un resultado.

¿La herramienta invierte palabras o solo caracteres?

Invierte los caracteres individuales, no el orden de las palabras. "Hello World" pasa a ser "dlroW olleH", no "World Hello".

¿Puede procesar emojis y texto en otros idiomas?

Sí. La herramienta trata los emojis, las banderas y las letras acentuadas como unidades individuales para que permanezcan intactos después de la inversión. También funciona con cualquier sistema de escritura, incluidos los textos chinos, árabes y cirílicos.

Si invierto el texto dos veces, ¿recupero el original?

En un texto ordinario, sí. Invertir una cadena ya invertida restituye el original. Una función con esta propiedad se llama involución. En casos límite poco frecuentes, como un texto que empieza con una marca de acento aislada, esta puede unirse a otro grupo de grafemas tras la primera inversión, de modo que la segunda inversión puede no coincidir exactamente.

¿Es útil el texto invertido para el cifrado?

No. Invertir caracteres no es seguro. Solo oculta visualmente el texto, y cualquiera que lo vuelva a invertir puede leerlo.

Referencias

  1. The Unicode Consortium. Unicode Standard Annex #29: Unicode Text Segmentation. UAX #29 — grupos de grafemas ("user-perceived characters") formados por varios puntos de código; las secuencias de banderas se mantienen juntas.
  2. MDN Web Docs. Intl.Segmenter. MDN: Intl.Segmenter — API de JavaScript que divide una cadena en grafemas, palabras u oraciones.
  3. MDN Web Docs. String: length. MDN: String length — la longitud de una cadena de JavaScript cuenta unidades de código UTF-16; un carácter puede ocupar una o dos.