UnitConv
Текст и разработка

Сравнение текстов (diff)

Сравните два блока текста и мгновенно увидите добавленные, удалённые и неизменённые строки рядом

Оригинал

Изменённый

+0
Добавленные строки
-0
Удалённые строки
0
Неизменённые строки

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

Различия

Вставьте текст в оба поля, чтобы увидеть различия.

Об этом инструменте

Этот инструмент сравнения текстов сопоставляет два блока текста и точно показывает, что между ними изменилось. Вставьте оригинал слева, а изменённую версию справа, и инструмент выровняет их, чтобы с одного взгляда показать добавленные, удалённые и неизменённые строки. Добавленные строки подсвечиваются зелёным, удалённые - красным, а нетронутые остаются нейтральными. Вы можете переключаться между единым видом, который складывает всё в одну колонку с метками + и -, и параллельным видом, который размещает две версии в выровненных колонках. Опции позволяют игнорировать пробелы, игнорировать регистр и игнорировать конечные пробелы, чтобы косметические различия не засоряли результат. Счётчик показывает, сколько строк было добавлено, удалено и осталось без изменений. Всё вычисляется локально в вашем браузере, поэтому даже большие или конфиденциальные документы никогда не покидают ваше устройство.

Как пользоваться

  1. 1 Вставьте или введите исходный текст в левое поле, а изменённый - в правое.
  2. 2 Выберите вид: параллельный для сравнения колонок или единый для списка +/- в одну колонку.
  3. 3 Включите игнорирование пробелов, регистра или конечных пробелов, чтобы пропустить косметические различия.
  4. 4 Просмотрите подсвеченные строки и счётчики добавленных/удалённых/неизменённых и при необходимости скопируйте результат.

Как это работает

Инструмент разбивает оба текста на строки и сравнивает их с помощью алгоритма наибольшей общей подпоследовательности (LCS). LCS находит наибольший набор строк, встречающихся в одном и том же порядке в обеих версиях - это неизменённые строки. Всё, что не входит в эту общую подпоследовательность, классифицируется: строка только в оригинале считается удалённой, а строка только в изменённом тексте - добавленной. Поскольку LCS действительно максимальна, diff использует наименьшее возможное число добавлений и удалений, благодаря чему результат выглядит естественно, а не помечает заново целые абзацы. Опции игнорирования применяются только при сравнении: строки нормализуются (обрезаются, пробелы сжимаются, приводятся к нижнему регистру) для определения совпадения, но отображается всегда исходный текст. Внешние библиотеки не используются, и ничего не загружается.

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

Отправляется ли мой текст на сервер?

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

В чём разница между единым и параллельным видом?

Единый вид складывает всё в одну колонку, помечая добавленные строки знаком +, а удалённые - знаком -, подобно выводу git или patch. Параллельный вид размещает оригинал и изменённую версию в двух выровненных колонках, чтобы просматривать совпадающие строки по горизонтали. Оба показывают один и тот же diff - выбирайте тот, что удобнее читать.

Что делают опции игнорирования?

Игнорирование пробелов обрезает каждую строку и сжимает последовательности пробелов и табуляций, чтобы изменения отступов не учитывались. Игнорирование регистра считает заглавные и строчные буквы одинаковыми. Игнорирование конечных пробелов убирает пробелы и табуляции в конце строки. Эти опции влияют только на то, как сопоставляются строки; отображается всегда ваш исходный ввод.

Как вычисляется diff?

Используется построчный алгоритм наибольшей общей подпоследовательности (LCS) - то же семейство методов, что лежит в основе таких инструментов, как diff и git. LCS находит максимальный набор общих для обеих версий строк по порядку, а затем помечает остальное как добавленное или удалённое, давая наименьший и понятный набор изменений.

Есть ли ограничение размера?

Каждая сторона ограничена 5000 строками, чтобы сравнение оставалось быстрым, а страница отзывчивой. При превышении инструмент показывает сообщение с просьбой сократить ввод. Для обычных документов, файлов кода и статей этого предела более чем достаточно.

Связанные инструменты и применение

Сочетайте сравнение текстов со счётчиком слов для измерения текста, конвертером регистра для нормализации перед сравнением и форматировщиком JSON для приведения данных в порядок, чтобы diff оставался осмысленным. Его используют для проверки правок, сравнения версий кода или конфигураций, вычитки черновиков и точного выявления изменений между двумя редакциями.