piapia123
es

Invertir texto

Texto

Todo se ejecuta en tu navegador: no se sube nada

Entrada
Arrastra un archivo aquí para cargarlo
Resultado

Invertir el texto es ambiguo, y las cuatro lecturas dan resultados completamente distintos: `abc` pasa a `cba` (dentro de cada línea), la primera línea pasa a ser la última (orden de líneas), todo el texto se gira incluidos sus saltos de línea (todo el texto), o `one two` pasa a `two one` (orden de palabras). Por eso esta herramienta ofrece cuatro opciones separadas en vez de un único botón de invertir: equivocarse cuesta otro pegado. Invierte por grupo de grafemas, no por unidad de código. `"👍🏽".length` es 4: un emoji con modificador de tono de piel ocupa cuatro unidades de código UTF-16. Invertir esas unidades deja dos sustitutos sueltos y la pantalla muestra `��`. Invertir por punto de código arregla las parejas sustitutas pero sigue partiendo secuencias ZWJ como `👨‍👩‍👧` y letras acentuadas escritas como base más marca combinante. Por eso esta herramienta corta en los límites de grafema nativos del navegador: lo que llamarías un carácter. El orden de palabras deja tu maquetación en paz. Los espacios iniciales y finales y los huecos entre palabras se quedan donde están; solo se mueven las palabras. Invertirlo todo convertiría ` foo bar` en `bar foo `, con la sangría varada al final.

Funciones

  • Cuatro modos independientes: dentro de cada línea, todo el texto, orden de líneas y orden de palabras
  • Consciente de los grafemas, así que los emoji, los modificadores de tono de piel, las secuencias ZWJ y las marcas combinantes nunca se parten por la mitad
  • Los modos que preservan la estructura de líneas mantienen el número de líneas
  • El orden de palabras conserva los espacios iniciales y finales y los huecos entre palabras
  • El orden de líneas es una reordenación pura: nada dentro de una línea se mueve
  • Entiende CRLF, CR y LF, y siempre escribe LF
  • Las líneas vacías participan como cualquier otra (el orden de líneas también las gira)
  • Todo se ejecuta localmente en tu navegador; no se sube nada

Cómo se usa

  1. Pega el texto que quieras invertir
  2. Elige por qué unidad invertir; el resultado se actualiza mientras escribes
  3. Haz clic en Copiar para llevarte el resultado

Preguntas frecuentes

¿Qué diferencia hay entre «todo el texto» y «orden de líneas»?
El orden de líneas solo mueve líneas de sitio; nada dentro de una línea cambia: `abc / def` pasa a `def / abc`. Todo el texto trata el conjunto entero como una sola secuencia, incluidos los saltos de línea: `abc\ndef` pasa a `fed\ncba`. El número de líneas no cambia en ninguno de los dos casos, pero cada línea pasa a llevar contenido de lo que era otra línea, y un salto final se convierte en uno inicial. Es la lectura literal de «girar el papel 180°», y por eso es su propia opción.
¿Por qué mi sangría sigue al principio tras invertir el orden de palabras?
Porque lo que se mueve son las palabras, no los caracteres. La línea se parte en una secuencia alterna de palabras y huecos; los huecos se quedan en su sitio y solo se reordenan las palabras. Así, ` foo bar ` pasa a ` bar foo ` con los dos espacios iniciales y los finales intactos. Invertir también los huecos dejaría la sangría al final, y eso cuenta como reformatear tu texto a tus espaldas.
¿Se estropearán los emoji?
No. El texto se corta en los propios límites de grafema del navegador (la granularidad de grafema de `Intl.Segmenter`), que siguen lo que un lector llamaría un carácter, no las unidades ni los puntos de código. Un emoji de tono de piel como `👍🏽`, una secuencia familiar ZWJ y una letra escrita como base más marca combinante sobreviven como unidades sueltas.

Herramientas relacionadas