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.
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
- Escriba o pegue texto en el cuadro de entrada.
- El texto invertido aparece debajo en cuanto se deja de escribir. No es necesario pulsar ningún botón.
- Pulse el botón de copiar para copiar el resultado.
El botón de restablecer borra tanto la entrada como el resultado. La herramienta acepta hasta 10.000 caracteres; si la entrada es más larga, muestra un mensaje de error que solicita acortar el texto. El recuento se basa en los caracteres visibles, por lo que un emoji cuenta como un carácter aunque el ordenador lo almacene como varias unidades.
Fórmula de inversión de texto
Para una cadena de longitud n formada por los caracteres , la cadena invertida es:
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
- Comienza con un resultado vacío.
- Toma el último carácter de la entrada y añádelo al resultado.
- Toma el penúltimo carácter y añádelo.
- Repite el proceso hasta haber añadido todos los caracteres en orden inverso.
La mayoría de las herramientas de inversión funcionan con caracteres individuales del ordenador. Esta herramienta, en cambio, agrupa cada emoji, bandera y letra acentuada en una sola unidad antes de invertirlos, mediante un método llamado segmentación de clústeres de grafemas. La sección siguiente explica por qué esto es importante.
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
A menudo, los ordenadores almacenan un solo carácter visible, como un emoji o una letra con acento, como varias unidades pequeñas llamadas puntos de código. Un método de inversión que cambia esas unidades de una en una, sin tener en cuenta cuáles forman un conjunto, puede descomponer 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» se convierte en «dlroW olleH».
- Inversión de palabras: cada palabra permanece intacta, pero cambia el orden de las palabras. «Hello World» se convierte en «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
31const text = "Hello, World!";
2console.log([...text].reverse().join('')); // !dlroW ,olleH
3Ambos ejemplos invierten correctamente el texto con letras y números normales, así como con emojis de una sola unidad, como 🌍. Aun así, pueden separar un carácter formado por varias unidades ocultas, como algunos emojis de banderas, letras acentuadas escritas con un signo de acento independiente o emojis de familias unidos mediante caracteres especiales de conexión. La inversión completa y segura para grafemas, que es el método utilizado por 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?
Pega o escribe el texto en el cuadro de arriba. El texto invertido aparece automáticamente en cuanto dejas de escribir. Usa 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. Una entrada más larga produce un mensaje de error en lugar de un resultado. Los caracteres se cuentan tal como aparecen en pantalla, por lo que un emoji o una letra acentuada cuenta como uno, no como dos.
¿La herramienta invierte palabras o solo caracteres?
Invierte caracteres individuales, no el orden de las palabras. «Hello World» se convierte en «dlroW olleH», no en «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?
Sí. Invertir una cadena invertida restaura el texto original. Esta propiedad se llama involución.
¿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
- El Consorcio Unicode. Unicode Standard Annex #29: Segmentación de texto Unicode.
- Cormen, T. H., Leiserson, C. E., Rivest, R. L. y Stein, C. (2009). Introducción a los algoritmos (3.ª ed.). MIT Press.
- Documentación web de MDN. Intl.Segmenter. Red de desarrolladores de Mozilla.