У меня на руках есть несколько случаев из разных сценариев, когда я копировал некоторые данные на свой компьютер через канал передачи без встроенного обнаружения или исправления ошибок. У меня есть или я могу сделать больше их копий. Проблема в том, что два раза файлы не получаются одинаковыми. Всегда есть несколько разрозненных различий, часто 1-битных различий.
Моя идея здесь состоит в том, чтобы попытаться исправить эти ошибки «демократическим путем», сравнивая все копии одних и тех же данных вместе и в тех смещениях, где одна копия не согласуется, сохраняя значение, разделяемое большинством, игнорируя значение, которое находится в меньшинстве.
Учитывая, что ошибки передачи кажутся случайными и никогда не возникают в одном и том же месте, я думаю, что концепция верна и может работать.
Вопрос: есть ли программа, которая может это сделать? Даже если это требует ручной проверки, это нормально. Я перепробовал несколько hex-редакторов, но не смог найти такого, который позволял бы находить различия между 3 и более файлами. Все они как бы ограничивались сравнением всего 2-х файлов, что, конечно, не помогает выяснить, какой из них неверный.
Я предпочитаю программное обеспечение с открытым исходным кодом, но я не против коммерческого программного обеспечения, если его нельзя избежать. Моя основная ОС — Windows 7, но я не против получить рекомендацию на основе Linux или BSD, если альтернативы Windows не существует.
В основном это одноразовая задача, поэтому я не возражаю против неудобного запутанного ручного процесса, пока он работает.
Итак, у меня больше нет этих файлов, но в конце концов я нашел программное обеспечение, которое сделало бы эту работу.
https://github.com/sdottaka/winmerge-v2 может выполнять трехстороннее двоичное сравнение.
Вам нужно добавить маски имен файлов, которые вы хотите, чтобы программа идентифицировала как двоичные, иначе вместо этого они редактируются как текст.
Андреа Лаззаротто
радор
Танат
vimtutorial
, если вам нужно введение в vim. Затем узнайте, как использовать vimdiff и как использовать vim в качестве шестнадцатеричного редактора. Затем вы можете сравнить и исправить свои файлы.радор
Андреа Лаззаротто