Почему количество слов в Microsoft Word и онлайн-счетчиках различается | GoToolstack
Разбор причин расхождений в подсчете слов между Word и онлайн-счетчиками. Слова через дефис, апострофы, длина эмодзи в UTF-16, языки CJK и формулы времени чтения.
Построчное и посимвольное сопоставление различий двух версий текста, JSON или исходного кода
Автоматизированное выявление различий между двумя фрагментами текста или программного кода (Diff Checker) оптимизирует процессы рецензирования изменений, сопоставления конфигураций и аудита правок. Механизм сравнения базируется на классическом алгоритме поиска наибольшей общей подпоследовательности (Longest Common Subsequence, LCS), точно вычисляя минимальный набор операций добавления, удаления и изменения строк без искажения контекста.
Инструмент предлагает два режима визуализации: Side-by-Side (двухколоночный режим) для наглядного параллельного сопоставления исходной и модифицированной версий и Unified (единый список изменений). Например, при сравнении двух версий конфигурационного файла Nginx инструмент подсвечивает удаленную директиву client_max_body_size 10M; красным маркером с минусом, а добавленную client_max_body_size 50M; — зеленым маркером с плюсом, точно выделяя измененные символы внутри строки. Переключатель игнорирования пробелов позволяет отсечь ложные срабатывания, вызванные форматированием отступов табуляциями или пробелами.
Все операции вычисления матрицы расхождений выполняются локально в браузере с помощью оптимизированного динамического программирования. Закрытые исходные коды коммерческих приложений, приватные конфигурации серверов и юридические договоры не отправляются во внешние сервисы.
Матрица LCS: dp[i][j] = (A[i] === B[j]) ? dp[i-1][j-1] + 1 : max(dp[i-1][j], dp[i][j-1]) ➔ Восстановление траектории правок
Алгоритм динамического программирования рассчитывает наибольшую общую последовательность токенов, формируя граф правок для выделения удалений (красный цвет) и добавлений (зеленый цвет).