Текст

Text Reverse

Развернуть текст: по символам, по словам (порядок слов) или по строкам (порядок строк).

This tool reverses text three different ways: by character (letters run in reverse order), by word (words swap places but stay intact), or by line (line order is flipped).

How to use it

Common uses

Things to keep in mind

A naive reversal by Unicode code point breaks composite characters (emoji with modifiers, some languages' combining diacritics) — a correct implementation splits text into grapheme clusters rather than individual code points.

Word-mode reversal doesn't change the letter order inside each word — it only rearranges the words themselves, not a character-level reversal.

Статья об этом инструменте: Text Reverse: почему «перевернуть текст» сложнее, чем кажется

Часто задаваемые вопросы

Какие существуют режимы разворота?

Существует три режима: развернуть порядок символов, развернуть порядок слов, сохраняя каждое слово целым, или развернуть порядок строк, сохраняя каждую строку целой.

Почему разворот на уровне символов может дать нечитаемый результат?

Разворот текста символ за символом может сломать многобайтовые последовательности Unicode, эмодзи или комбинируемые символы, вызывая визуально испорченное отображение; разворот на уровне слов или строк не имеет этой проблемы, так как перемещает целые блоки текста.

Отправляется ли введённый текст на сервер?

Нет, разворот полностью происходит в браузере на JavaScript, без отправки на сервер.

Что такое графемный кластер?

Это то, что человек воспринимает как «один видимый символ», хотя в Unicode он иногда состоит из нескольких кодовых точек — например, эмодзи семьи состоит из нескольких отдельных эмодзи, соединённых специальным символом-соединителем. Корректный разворот текста должен держать такие кластеры вместе как одну единицу.

Можно ли перевернуть эмодзи так, чтобы он остался корректным?

Да, если разворот разбивает строку на графемные кластеры перед изменением порядка, а не на отдельные кодовые точки — тогда составные эмодзи (с модификаторами тона кожи, флагами стран) остаются целыми после операции.

Статьи: Текст

Case Converter: зачем нужны разные стили написания

Почему в одном проекте переменные пишут camelCase, а файлы — kebab-case, и откуда взялись эти правила.

Text Diff: как алгоритмы находят разницу между текстами

Как diff-алгоритм находит минимальный набор изменений между двумя версиями текста.

Регулярные выражения: основной синтаксис и типичные паттерны

Как читать регулярное выражение и чем жадный поиск отличается от ленивого.

Сортировка и удаление дубликатов строк: зачем это нужно

Почему числовая сортировка «10» перед «9» — это ошибка, и как этого избежать.

String Escape: почему один и тот же текст нужно экранировать по-разному

Почему один и тот же символ кавычки экранируется по-разному в JS-строке, JSON и shell-команде.

CRLF против LF: почему символы конца строки до сих пор важны

Почему файл, написанный в Windows, может показывать «изменён весь файл» в git на Linux.

Подсчёт символов и слов: почему это не всегда тривиально

Почему эмодзи или символы с диакритикой могут считаться как несколько символов сразу.

Lorem Ipsum: откуда взялся текст-заполнитель и зачем он нужен

Почему дизайнеры намеренно используют «бессмысленный» текст вместо реального контента в макетах.

Slugify: как превратить произвольный текст в URL-адрес

Как заголовок «Привет, Мир!» превращается в URL-совместимую строку вида privet-mir.

Markdown: почему простой текстовый синтаксис победил сложные редакторы

Почему разработчики выбирают писать документацию в Markdown, а не в форматированном текстовом редакторе.

Пробелы и невидимые символы: скрытая причина странных багов

Почему две на вид одинаковые строки могут не совпадать при сравнении из-за невидимого символа.

Частотный анализ текста: зачем считать повторения слов

Как частота букв в зашифрованном тексте помогает взломать простейшие шифры подстановки.