Как просмотреть бинарное содержимое файла в Windows 7? (Возможно ли это.)
У меня есть файл, чуть больше 500 МБ, который вызывает некоторые проблемы.
Я считаю, что проблема находится в конце строки (EOL) используемой конвенции. Я хотел бы посмотреть на файл в его необработанном виде (1), чтобы подтвердить конвенцию EOL этого файла.
Как я могу просмотреть “двоичный” файл, используя что-то встроенное в Windows 7? Я бы предпочел избежать необходимости скачивать что-либо дополнительное.
(1) Мы с коллегой открыли файл в текстовых редакторах, и они показывают строки, как и следовало ожидать. Но оба текстовых редактора откроют файлы с различными конвенциями EOL и интерпретируют их автоматически. (TextEdit и Emacs 24.2. Для Emacs я создал второй файл, содержащий только первые 4K байт, используя head -c4096
на linux box, и открыл его из своего windows box.
я попытался использовать hexl-режим в Emacs, но когда я перешел в hexl-режим и вернулся в текстовый режим, содержимое буфера изменилось, добавив видимый ^M в конец каждой строки, так что на данный момент я этому не доверяю.
Я думаю, что проблема может быть в конце используемого символа(ов) строки. Редакторы, мы с коллегой попробовали (1) просто автоматически распознать условность конца строки и показать нам строки. И, основываясь на других доказательствах, я считаю, что конвенция EOL - это только возврат каретки. (2) только возврат.
Чтобы узнать, что на самом деле находится в файле, я хотел бы посмотреть на двоичное содержимое файла, или, по крайней мере, на пару тысяч байт файла, предпочтительно в Hex, хотя я мог бы работать с десятичными или восьмеричными числами. На одни нули было бы довольно грубо смотреть.
UPDATE
За исключением того, который предлагает DEBUG
, все ответы ниже в той или иной степени работают. Я проголосовал за каждый из них как за полезный. Мой вопрос был плохо сформулирован. При тестировании каждого из предложенных решений я обнаружил, что мне очень хотелось, чтобы рядом был просмотр шестнадцатеричного и текстового содержимого, и что я хотел, чтобы это было что-то такое, где, когда я наведу курсор на что-то, либо на значение байта, либо на текстовый символ, соответствующая вещь с другой стороны будет выделена.
я на самом деле решил свою проблему, когда Emacs hexl-режим начал работать “правильно”. В итоге я не использовал ни одного из этих ответов, а только тестировал их (действительно должен был исследовать странное поведение Emacs и отправить сообщение об ошибке).