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

Сравнивайте строки, слова или символы, явно нормализуйте Unicode и переводы строк и экспортируйте точный патч.

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

Сравнивайте строки, слова или символы, явно нормализуйте Unicode и переводы строк и экспортируйте точный патч.

Шаг 1

Вставьте обе версии

limit = 8
     →
limit = 12

Поместите оригинал слева, новую версию справа, включая последнюю строку целиком.

Шаг 2

Выберите детализацию

8  ≠  12

CRLF  ≠  LF

Строки для структуры, слова для формулировок, символы для пунктуации. Включайте только нужные правила игнорирования.

Шаг 3

Проверьте и экспортируйте

- limit = 8
+ limit = 12
  retry = true

Просмотрите удаления и добавления рядом или вместе. Скачанный патч описывает точные входные данные.

Практические задачи

Редакторская проверка

Сравнивайте слова, чтобы найти изменённое обещание или дату. Учитывайте регистр, если он важен для стиля.

Конфигурации

Сравнивайте строки без игнорирования пробелов в форматах, чувствительных к отступам. Синтаксис не проверяется.

Проблемы кодировки

Сначала сравните точно, затем включите NFC или нормализацию переводов строк, чтобы установить причину.

Как читать изменение

- limit = 8
+ limit = 12
  retry = true
  1. 1Минус: удалено из оригинала
  2. 2Плюс: добавлено в новую версию
  3. 3Без отметки: неизменённый контекст
Фиксированный пример меняет предел с 8 на 12. Он не оценивает правильность изменения.
Сравнение текстов: Пример интерфейса
На снимке показан пример работы инструмента. Используйте элементы управления выше для своих данных и результатов.

Зачем патчу нужен контекст

Diff записывает правку вместо повторения двух полных документов. документация GNU об унифицированном формате описывает компактный формат с изменёнными строками и ближайшим контекстом.

Контекст помогает найти правку. Скачанный файл использует original.txt и revised.txt и описывает строки, даже если на экране сравниваются слова.

Повторяющиеся строки допускают разные сопоставления. Алгоритм находит последовательность правок, а не замысел автора. Проверяйте окружение перемещённых предложений.

Одинаковый вид не означает равенство

Буква с акцентом может быть одной кодовой точкой Unicode или буквой с комбинируемым знаком. формы нормализации Unicode определяет каноническую эквивалентность. NFC меняет только сравнение, а не поля ввода.

CRLF и LF — разные последовательности. Нормализация рассматривает CRLF и отдельный CR как LF. Игнорирование пустых строк удаляет и сведения об этих разделителях.

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

Метод, ограничения и исправления

Локальный расчёт ограничивает каждое поле 50 000 единицами строк JavaScript и ограничивает работу алгоритма. В строках можно объединять пробелы, в словах нормализовать пробельные символы, а в посимвольном режиме удалять их.

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

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

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

Учитывает ли патч правила игнорирования?

Нет. Он описывает точный ввод, включая скрытые на экране различия.

Выполняется ли вставленный HTML?

Нет. Содержимое отображается как текст и сравнивается буквально.

Почему расчёт может остановиться?

Ограничения длины и работы сохраняют отзывчивость. Разделите документы на нужные фрагменты.