Сравнение Текстов

Работает офлайнНичего не загружаетсяБесплатно, без регистрации

Сравните два текста и увидьте каждую изменённую строку с подсвеченными изменёнными словами внутри. Номера строк для обеих сторон, переключатель игнорирования хвостовых пробелов и точный результат на любом объёме — целиком в браузере: договоры и код не покидают вашу машину.

Как читать вывод

Результат — объединённый вид: неизменённые строки несут оба номера, удалённые — знак −, добавленные — знак +. Когда одна строка отредактирована в другую, пара показана вместе, и различающиеся слова подсвечены внутри каждой — уровень строк отвечает, где изменилось, уровень слов — что.

Что даёт «кратчайший скрипт правок»

Наивное сравнение выравнивает тексты сверху и называет всё после первой вставки «изменённым». Алгоритм Майерса находит минимальный набор правок: абзац, вставленный сверху, выглядит ровно как один добавленный блок, а остальное остаётся выровненным и тихим. Эта минимальность и делает дифф читаемым; поэтому тот же алгоритм работает внутри git — и формат вывода у него такой же, как на этой странице.

Ловушка невидимых различий

Классический вопрос — «инструмент говорит, что строки различаются, а выглядят одинаково» — почти всегда пробелы: хвостовой пробел, табуляция, выглядящая как пробелы, или неразрывный пробел из редактора. Переключатель хвостовых пробелов закрывает частый случай. Если строки всё ещё различаются невидимо, пословная подсветка сужает разницу до конкретного токена — обычно этого хватает, чтобы найти лишний символ.

Всё работает локально в браузере; ни одна из сторон сравнения никуда не отправляется.

Частые вопросы

Как работает сравнение?

Алгоритмом диффа Майерса — тем же, что внутри git. Он находит кратчайшую последовательность вставок и удалений строк, превращающую один текст в другой, поэтому неизменённые блоки остаются выровненными, даже когда выше вставлен материал. Для каждой изменённой пары строк второй проход на уровне слов помечает, что сдвинулось внутри строки.

Гарантирована ли полнота диффа?

Да, и это проверяемый тестами инвариант, а не надежда: чтение неизменённых и удалённых строк результата в точности восстанавливает исходный текст, а неизменённых и добавленных — новый. Дифф, молча уронивший строку, хуже, чем никакого: люди действуют по тому, что он показывает.

Почему я вижу изменение в строках, которые выглядят одинаково?

Почти всегда это невидимые символы: пробел в конце, табуляция против пробелов или неразрывный пробел из текстового редактора. Включите «Игнорировать хвостовые пробелы» — это закрывает самый частый случай. Отступ в начале строки намеренно никогда не игнорируется: в коде и структурированном тексте отступ — это смысл.

Куда-то загружается мой текст?

Никуда. Сравнение выполняется целиком в браузере — на сервер ничего не отправляется, и в этом суть: диффают договоры, код и черновики — ровно то, что не должно путешествовать. Можно открыть страницу, отключиться от сети — инструмент продолжит работать.

Какой объём текста он выдерживает?

Обычные документы и исходники — тысячи строк — сравниваются мгновенно, потому что стоимость алгоритма растёт с размером различий, а не текста. После двадцати тысяч различающихся строк инструмент помечает весь блок как заменённый, вместо того чтобы подвесить страницу; результат остаётся корректным полным скриптом правок.

Можно ли сравнить два файла?

Откройте каждый файл в любом редакторе и вставьте содержимое в свою сторону. Для двоичных форматов — документов Word, PDF — вставьте извлечённый текст; побайтовое сравнение двоичных файлов — другая задача, и на обычный вопрос там — идентичны ли два файла — отвечает контрольная сумма (см. генератор хешей).

Похожие инструменты