разность - horizon-lines=lines объясненный

Кодирование Base64 превращает 6 байтов в 8. Существует 3 возможных кодировки для любого данного простого текста, смещенного на несколько битов каждый раз (и смешаны с другим закодированным текстом, следовательно не тривиальным для нахождения).

>>> '185'.encode('base64')
'MTg1\n'
>>> '\x00185'.encode('base64')
'ADE4NQ==\n'
>>> '\x00\x00185'.encode('base64')
'AAAxODU=\n'
>>> '\x00\x00\x00185'.encode('base64')
'AAAAMTg1\n'
3
29.09.2014, 01:26
1 ответ

Это объяснение кажется более логичным, чем приведенное выше 2.

выдержка - https://www.gnu.org/software/diffutils/manual/html_node/diff-Performance.html

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

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

Ссылка на "строки" означает Х число строк. Поэтому мысленно прочтите это предложение еще раз, но скажите "Х строк", где написано "строк". X будет соответствовать числу, которое было передано в качестве аргумента к diff --horizon-lines=lines.

Во 2-м абзаце, который я цитировал выше, поясняется, в чем будет заключаться разница с указанным вариантом.

4
27.01.2020, 21:19

Теги

Похожие вопросы