Результат
Все вычисления выполняются локально в браузере: разбор, график, экспорт. Если отключите сеть, страница продолжит работать.
Факты и границы применимости
| «Весь текст посимвольно» | Символы читаются с конца в начало, включая переносы строк |
|---|---|
| «Каждая строка отдельно» | Порядок строк сохраняется, символы внутри каждой строки переворачиваются |
| «Только порядок слов» | Слова остаются написаны как есть, меняется лишь их очерёдность |
| Единица переворота | Code point — составные символы могут отображаться иначе, чем ожидается |
Когда этот метод вводит в заблуждение
- В режиме «весь текст посимвольно» переносы строк тоже переворачиваются вместе с остальными символами — при многострочном тексте порядок строк меняется на обратный, а не только символы внутри них; для сохранения порядка строк используйте режим «каждая строка отдельно».
- Переворот идёт по code point, а не по «видимому» символу: эмодзи из нескольких code point или буква с отдельно стоящим диакритическим знаком после переворота может отобразиться некорректно или распасться на части.
- В режиме «только порядок слов» знаки препинания, приклеенные к слову («мир!»), переворачиваются вместе со словом как единое целое — пунктуация не отделяется и не переставляется отдельно.
- Языки с направлением письма справа налево (арабский, иврит) при посимвольном перевороте могут отображаться визуально запутанно из-за того, как браузер применяет собственные правила направления текста поверх уже переставленных символов.
Как это считается
В режиме «весь текст» строка разбивается на отдельные символы (code points), массив переворачивается и снова собирается в строку — без учёта переносов строк, которые в этом режиме тоже меняют своё место.
В режиме «каждая строка отдельно» текст сначала разбивается на строки по переносам, затем каждая строка переворачивается посимвольно независимо от других, и строки собираются обратно в исходном порядке.
В режиме «только порядок слов» каждая строка разбивается на слова по пробелам, массив слов переворачивается, слова заново соединяются пробелом — написание каждого слова остаётся неизменным.
Результат выводится сразу при вводе, без отдельной кнопки запуска.
Вопросы и ответы
Чем «весь текст» отличается от «каждая строка отдельно»?
«Весь текст» переворачивает буквально всё, включая порядок строк и переносы между ними. «Каждая строка отдельно» переворачивает символы внутри каждой строки, но строки остаются в исходном порядке.
В режиме «порядок слов» слова тоже переворачиваются задом наперёд?
Нет, в этом режиме меняется только порядок слов в строке, а написание каждого слова остаётся обычным, читаемым.
Почему эмодзи после переворота выглядит странно?
Переворот идёт по отдельным code point, а некоторые эмодзи состоят из нескольких code point — при перестановке они могут распасться на не связанные друг с другом символы.
Мой текст куда-то отправляется?
Нет, вся обработка выполняется в вашем браузере.