Как открыть бинарный файл в блокноте

Обновлено: 21.11.2024

Как установить подключаемый модуль Notepad++ Hex-Editor для Windows? В прошлом плагин было сложно установить, а Notepad++ в настоящее время не имеет интегрированного управления плагинами в графическом интерфейсе.

(Я больше не использую шестнадцатеричный редактор Notepad++, хотя сам Notepad++ использую все больше и больше. Шестнадцатеричный редактор не включает поддержку отмены, что является для меня препятствием. является одновременно мощным и удобным для начинающих.)

Я использую плагин Hex-Editor, и Notepad++ всегда отключает его при обновлении. Это потому, что в некоторых случаях он отображает неправильные значения. Вы предупреждены

7 ответов 7

Обновление:

Много голосов против моего ответа и голосов за комментарий о том, что HEX-Editor больше не доступен. Это не так, вы, вероятно, используете 64-битный x64 Notepad++, установите 32-битный x86, и он будет вам доступен. Протестировано с помощью Notepad++ 7.8.2, 32-разрядная версия, 12 января 2020 г.

Исходные файлы HEX-редактора:

Если вы хотите использовать 64-разрядную версию Notepad++, попробуйте этот неофициальный репозиторий:

Оригинал:

По состоянию на 13 ноября 2018 г. администратор подключаемых модулей включен в программу установки notepad++ по умолчанию. Выберите вкладку «Плагины» и нажмите «Администратор плагинов». затем прокрутите вниз или найдите HEX-Editor .

По просьбе сообщества в Notepad++ v.7.6 доступен встроенный администратор плагинов.

@OldGeezer, войдите в C:\Program Files (x86)\Notepad++\plugins, создайте каталог HexEditor, скопируйте в него DLL и перезапустите Notepad++. Вы увидите его в разделе «Плагины меню».

Рекомендуемый здесь шестнадцатеричный редактор работает только с 32-разрядной версией Notepad++. См. ответ Яна или другой ответ для решения, которое работает с 64-разрядной версией. Я лично использую HxD вместо шестнадцатеричного редактора Notepad++, потому что я не знаю шестнадцатеричного редактора Notepad++, который поддерживает отмену, что является для меня критически важной функцией.

Сначала установите Notepad++. Я рекомендую установить 64-битную версию, если у вас ОЧЕНЬ старая машина. Чтобы найти его, прокрутите вниз до 32-битной версии. Если вы знаете лучшую ссылку на 64-битную версию, предложите ее в комментариях.

Затем загрузите последнюю версию подключаемого модуля HexEditor .dll. Я скачал HexEditor_0_9_5_UNI_dll.zip. Не нажимайте большую зеленую кнопку загрузки (HTMLTag_plugin или т. д.) — это реклама и может быть какое-то приложение, от которого практически невозможно избавиться.

Наконец, откройте zip-файл, выберите файл HexEditor.dll и поместите его в папку

если вы установили 32-разрядную версию Notepad++ и

если вы установили 64-битную версию. (Для более старых версий Notepad++ не указывайте папку HexEditor)

Чтобы проверить, прошла ли ваша установка успешно, перезапустите Notepad++, и вы должны увидеть пункт меню «Плагины» -> «Шестнадцатеричный редактор» -> «Просмотр в шестнадцатеричном формате». Это переключит, просматриваете ли вы файл в шестнадцатеричном формате.

В шестнадцатеричном редакторе Notepad++ нет необходимости отменять поддержку, поэтому я больше им не пользуюсь. (Я до сих пор пользуюсь самим Notepad++.) Вместо этого я использую HxD, мощный и удобный для начинающих.

Спасибо Балинту и Момолангу Момо за указание на необходимость наличия папки HexEditor в новых версиях.

Я знаю о различных доступных подключаемых модулях и проблемах, связанных с их использованием, но, конечно же, учитывая, что этот текстовый редактор используется многими программистами, было бы разумно предположить, что шестнадцатеричный редактор или двоичный редактор был бы логичным дополнением к программе.

Я не вижу большой головной боли для реализации этого, даже если это просто средство просмотра, которое добавляется без каких-либо широко используемых шестнадцатеричных/двоичных инструментов.

Существуют преобразователи для различных наборов символов или кодировок, так почему бы не предложить преобразователь, который преобразует данные в двоичное представление?

Возможно, многие другие программисты (читай, участники) видят огромную головную боль, связанную с реализацией и, что еще более важно, с поддержкой шестнадцатеричного/двоичного редактора/просмотрщика. Особенно, когда есть подходящие бесплатные альтернативы.

может видеть, что это огромная головная боль для реализации

Особенно, когда базовый элемент управления мерцанием работает против этого. (попробуйте получить 0x00 от таких вызовов, как getText)

но @tom-shaw
если вы просто ищете такое шестнадцатеричное представление

чем простой скрипт Python может сделать то, что вы хотите.

О да! Интересное предложение, да! Я уже не говорю о многочисленных бесплатных Hex-редакторах, доступных в Сети, со специфическими функциями!

Нет, Клаудия, я думаю об очень простой работе:

Учитывая нынешнее расположение курсора, ваш (будущий!) скрипт Python просто выдаст нам в новом окне шестнадцатеричное представление, скажем, 256 следующих символов!

Таким образом, даже в случае символов с кодовой точкой над \x в файле с кодировкой UTF-8 максимальное количество отображаемых байтов будет 1024 ( в 64 строках * 16 столбцах или 32 строки * 32 столбца)

И, в случае выбора пользователем текста, ограниченного 256 символами, опять же, это будет действовать также, как указано выше!

Конечно, Клаудия, вы можете выбирать ограничения по своему усмотрению! Может быть, @scott-sumner, тебя интересует эта цель? Но, пожалуйста, это не соревнование между вами обоими ;-))

Парень, если вы говорите новое окно, вы имеете в виду ту же функциональность, что и в тестере регулярных выражений, что означает
наличие второго представления, содержащего шестнадцатеричное представление документа в первом представлении? Нравится

или действительно в новое окно, например

Что касается выбора, я предполагаю, что это не так просто, потому что scintilla не возвращает 0x00, вместо этого
возвращает 0x20 — это известная «особенность» scintilla. Чтобы обойти эту функцию, нужно прочитать
двоичный файл, сохранить его в памяти, а затем попытаться сопоставить выделенный текст с реальными данными из файла.
Таким образом, это означает, что оперативное редактирование двоичного файла не так просто решить — его всегда нужно сохранять, чтобы правильно отображать
шестнадцатеричный вид.

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

Спасибо за быстрый ответ :-)) Не волнуйтесь, Клаудия! Я просто подумал о просмотре шестнадцатеричного содержимого ранее сохраненных файлов, конечно!

И мне нравится решение Regex Tester с автоматическим созданием нового файла с шестнадцатеричным содержимым во вторичном представлении для удобства сравнения с самим файлом!

Иногда при загрузке файлов из сети полезно узнать, какие экзотические символы содержатся в них. Это также может помочь нам увидеть все байты, используемые конкретными символами в кодировка файла !

Но, пожалуйста, не торопитесь! Просто еще одно упражнение на Python, для развлечения :-))

Все хорошие идеи! Возможно, для тех, кто не использует Pythonscript (и, следовательно, не выиграет, когда Клаудия выпустит свой будущий шедевр шестнадцатеричных изображений для PS!), мое текущее решение этой проблемы может представлять интерес: получить «HxD», а затем создать « Пункт меню «Выполнить» под названием «Запустить текущий файл в шестнадцатеричном редакторе HxD». :-D

Кстати, (и я удивлен, что об этом не упоминалось ранее в этой ветке), я пробовал «официальный» плагин Notepad++ Hex Editor несколько раз в течение моей жизни Notepad++, и я никогда не удалось заставить его делать что-либо, но выдавать какое-то сообщение об ошибке исключения. :(

хороший, и да, это также мой шестнадцатеричный редактор по умолчанию - великолепная программа.

В TextFx есть несколько команд «Преобразовать текст в шестнадцатеричный».

Единственная проблема в том, что я разбираюсь в c++/javascript, а не в python…

Я тоже люблю змей!

На самом деле мне нужно двоичное представление файла… Я работаю с большим количеством сенсорных ячеек, поэтому может быть просто написать это на js. Я просто пытался не писать больше кода :(

В этом случае мы всегда могли спорить о js и Python, потому что последний раз, когда у меня был аргумент кода, был perl и php. Забавно, что все эти языки становятся все ближе и ближе друг к другу и в конце концов заканчиваются операторами malloc, векторами и библиотекой std :)

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

Отображать рядом шестнадцатеричный код и его эквивалент ASCII

В некоторых случаях вам может понадобиться просмотреть содержимое двоичного файла, например, файла, который является либо компьютерной программой, либо файлом данных.Хотя вы, конечно, можете поискать бесплатную программу просмотра двоичных или шестнадцатеричных символов, такой маршрут требует от вас загрузки и установки сторонней программы в системе, что вы можете либо не захотеть делать (например, у вас ограниченное дисковое пространство, или вы не хотите рисковать установкой программы из неизвестного источника) или не можете этого сделать (например, это компьютер компании или клиента, так что вы не можете просто установить программы по прихоти).

Хорошей новостью является то, что вам не нужно устанавливать какие-либо сторонние программы для просмотра двоичных файлов. Windows уже поставляется с программами, которые могут взять файл (двоичный или другой) и преобразовать его, чтобы показать шестнадцатеричный код вместе с его печатным (отображаемым) эквивалентом ASCII (если есть) рядом. (Прокрутите вниз, чтобы увидеть скриншоты, если вы не понимаете, о чем я.)

Способ 1 (Windows 10): использование командлета PowerShell Format-Hex

Для этого метода требуется PowerShell 5.0 или выше, который предустановлен в Windows 10. Если вы используете более раннюю версию Windows, вместо этого используйте метод 2. (Конечно, вы можете установить PowerShell 5+ и на эти версии, но это противоречит цели ничего не устанавливать.)

Нажмите кнопку меню "Пуск" и введите "powershell" (без кавычек). В верхней части меню появятся слова «Windows PowerShell». Нажмите на нее.

Откроется окно, оставив вас в командной строке с чем-то вроде " PS C:\Users\christopherheng> " прямо перед вашим текстовым курсором. Фактические слова, следующие за «Пользователи\», будут отличаться в зависимости от имени вашей учетной записи Windows.

Перейдите в каталог, содержащий файл, который вы хотите просмотреть. Вы можете изменить каталоги, набрав «cd», а затем полное имя каталога. Например, если вы хотите просмотреть файл в каталоге «c:\Program Files\Windows Mail», введите

Если вы хотите вернуться в каталог по умолчанию, в котором вы находились при первом открытии PowerShell, введите:

Во всех случаях после ввода команды вам нужно будет нажать клавишу ВВОД, прежде чем PowerShell выполнит ваши инструкции.

Как правило, команда для просмотра файла с именем (скажем) «file.exe» — это «format-hex file.exe» (без кавычек). Однако, если вы это сделаете, а ваш файл больше нескольких байт или около того, содержимое будет выброшено на экран одним махом, прокручиваясь с большой скоростью, пока не будет отображен весь файл.

Таким образом, вы, вероятно, захотите отправить вывод в программу под названием «больше», которая позволит вам просматривать содержимое по одному экрану за раз. Для этого введите вместо этого следующее:

Как всегда, при работе в командной строке вам нужно будет нажать клавишу ENTER после команды, прежде чем PowerShell выполнит ваши инструкции. Если в имени вашего файла есть пробелы, заключите его в кавычки, например:

"|" символ, называемый в данном контексте «конвейером», отправляет вывод format-hex как бы через канал (отсюда и название) в другую программу с именем «больше». Последний позволяет пролистывать файл вперед, на один экран или по одной строке за раз.

Чтобы увидеть следующий экран, нажмите пробел на клавиатуре. Чтобы прокрутить вверх только одну строку, используйте клавишу ENTER. Нет возможности прокрутить назад. Если вам действительно нужно вернуться к предыдущему экрану, один из способов — выйти из программы и повторить команду еще раз. Чтобы завершить работу программы до того, как вы дойдете до конца файла (например, если вы уже нашли то, что искали, или если вы случайно пролистнули вперед ту часть, которую хотели увидеть, и вам нужно было начать заново), введите «q» (без кавычек), чтобы выйти.

Когда вы закончите, закройте PowerShell, введя "exit" (без кавычек) и нажав клавишу ENTER. Кроме того, вы также можете обычным способом нажать кнопку "x" в правом верхнем углу окна.

Если «Дополнительно» слишком мало для ваших нужд

Несмотря на то, что "больше" обычно полезно для просмотра файла на один экран за раз, если вам нужно несколько раз пролистать страницу вверх и вниз, невозможность прокрутки назад может сильно разочаровать.

В таком случае, возможно, стоит приложить усилия, чтобы сохранить выходные данные, которые создает "format-hex", в виде текстового файла, чтобы вы могли использовать обычный текстовый редактор, такой как Блокнот, для его просмотра.

Для этого используйте следующую командную строку:

При этом создается файл с именем "file.txt", который можно открыть в любом текстовом редакторе. Знак «больше» «>» приводит к перенаправлению (т. е. сохранению) вывода format-hex в файл с именем (в нашем случае) «file.txt». Конечно, вы можете назвать файл как угодно. И "file.exe", и "file.txt" являются лишь примерами.

Затем откройте "file.txt" (или как вы его назвали) в Блокноте или другом текстовом редакторе.Это позволяет вам перемещаться вверх и вниз по выходным данным столько раз, сколько вам нужно.

Способ 2 (Windows 7, 8, 8.1, 10): использование Certutil

Windows 7, 8, 8.1 и 10 (я не знаю о более ранних версиях) поставляются с универсальной программой командной строки под названием certutil, которую можно использовать для создания текстового файла, содержащего шестнадцатеричный код вместе с их текстовым эквивалентом ASCII, если любой.

После этого такой текстовый файл можно просмотреть в любом текстовом редакторе, включая Блокнот, входящий в состав Windows.

Откройте меню "Пуск" и введите "cmd". Вверху должны появиться слова «Командная строка». Нажмите на нее.

Откроется окно командной строки. Вы должны увидеть мигающий текстовый курсор в строке, которая говорит что-то вроде «C:\Users\christopherheng>». Точные слова на вашем компьютере будут другими, так как у вас вряд ли будет то же имя учетной записи Windows, что и у меня.

Перейдите в каталог, содержащий файл, который вы хотите просмотреть. Вы можете изменить каталоги, набрав «cd», а затем полное имя каталога. Например, если вы хотите просмотреть файл в каталоге «c:\Program Files\Windows Mail», введите

Если вы хотите вернуться в каталог по умолчанию, в котором вы находились при первом открытии командной строки, введите:

Во всех случаях после ввода команды вам нужно будет нажать клавишу ВВОД, прежде чем командная строка запустит программу.

Чтобы просмотреть содержимое (скажем) файла "file.exe", мы сначала заставим certutil сгенерировать временный текстовый файл с именем "file.txt". На самом деле вы можете назвать временный текстовый файл как угодно. Только не давайте ему такое же имя, как у существующего файла, иначе certutil беспечно перезапишет этот файл своими выводами.

Команда для этого:

Как обычно, нажмите клавишу ВВОД после ввода вышеуказанной строки, иначе ничего не произойдет. Если какое-либо из ваших имен файлов содержит пробелы, заключите их в кавычки, например:

Затем программа "certutil" продолжит создание выходного файла. Когда это будет сделано, вы вернетесь обратно в командную строку. Теперь откройте этот файл в Блокноте или другом текстовом редакторе.

Это можно сделать, запустив блокнот обычным способом (например, набрав «Блокнот» в меню «Пуск» и щелкнув появившуюся строку «Блокнот»), затем перейдя к местоположению «file.txt» и открыв его. , или вы также можете сделать это из командной строки с помощью:

Поскольку вы просматриваете его в текстовом редакторе, вы можете прокручивать файл вверх и вниз обычным способом, к которому вы привыкли, с помощью клавиш PgUp и PgDn, полосы прокрутки или колеса прокрутки мыши. Обратите внимание, что это временный файл, который вы просматриваете, поэтому нет смысла пытаться его редактировать или изменять. Вы удалите его, как только закончите просмотр (на следующем шаге).

Когда вы закончите, удалите временный файл, если он вам больше не нужен. Вы можете сделать это обычным способом с помощью проводника или даже из командной строки, набрав " del file.txt ".

Закройте окно командной строки, щелкнув значок "x" в правом верхнем углу или введя "exit" (а затем клавишу ENTER) в командной строке.

Эта статья защищена авторским правом. Пожалуйста, не воспроизводите эту статью полностью или частично в любой форме без моего письменного разрешения.

Он появится на вашей странице как:

Авторское право © 2021, Кристофер Хенг. Все права защищены.
thesitewizard™, thefreecountry™ и HowToHaven™ являются товарными знаками Кристофера Хенга.
Последнее обновление этой страницы состоялось 16 февраля 2021 года.

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

Двоичный редактор позволяет редактировать любой ресурс на двоичном уровне в шестнадцатеричном или ASCII-формате. Вы также можете использовать команду «Найти» для поиска строк ASCII или шестнадцатеричных байтов. Используйте двоичный редактор только тогда, когда вам нужно просмотреть или внести незначительные изменения в пользовательские ресурсы или типы ресурсов, не поддерживаемые средой Visual Studio. Двоичный редактор недоступен в версиях Express.

Чтобы открыть двоичный редактор для нового файла, перейдите в меню «Файл» > «Создать» > «Файл», выберите тип файла, который вы хотите отредактировать, затем щелкните стрелку раскрывающегося списка рядом с кнопкой «Открыть» и выберите «Открыть с помощью» > «Двоичный редактор». . Выпадающий список в диалоговом окне «Новый файл» недоступен в Visual Studio 2019, но доступен в Visual Studio 2022.

Чтобы открыть двоичный редактор для существующего файла, перейдите в меню «Файл» > «Открыть» > «Файл», выберите файл, который хотите отредактировать, затем щелкните стрелку раскрывающегося списка рядом с кнопкой «Открыть» и выберите «Открыть с помощью» > «Двоичный редактор».< /p>


Двоичные данные для диалогового окна, отображаемого в двоичном редакторе

В двоичном редакторе представлены только определенные значения ASCII (от 0x20 до 0x7E). Расширенные символы отображаются в виде точек в разделе значений ASCII на правой панели двоичного редактора. Печатаемые символы — это значения ASCII от 32 до 126.

При использовании двоичного редактора во многих случаях можно щелкнуть правой кнопкой мыши, чтобы отобразить контекстное меню с командами, относящимися к конкретному ресурсу. Доступные команды зависят от того, на что указывает ваш курсор. Например, если щелкнуть правой кнопкой мыши, указывая на двоичный редактор с выбранными шестнадцатеричными значениями, в контекстном меню отобразятся команды «Вырезать», «Копировать» и «Вставить».

Как

Двоичный редактор позволяет:

Чтобы открыть ресурс рабочего стола Windows для редактирования двоичных файлов

В представлении ресурсов выберите конкретный файл ресурсов, который вы хотите изменить.

Щелкните ресурс правой кнопкой мыши и выберите "Открыть двоичные данные".

Если вы используете окно просмотра ресурсов, чтобы открыть ресурс в формате, который Visual Studio не распознает, например RCDATA или пользовательский ресурс, ресурс автоматически открывается в двоичном редакторе.

Чтобы открыть управляемый ресурс для двоичного редактирования

В обозревателе решений выберите конкретный файл ресурсов, который вы хотите изменить.

Щелкните ресурс правой кнопкой мыши и выберите "Открыть с помощью".

В диалоговом окне "Открыть с помощью" выберите "Двоичный редактор".

Для работы с файлами ресурсов в управляемых проектах можно использовать редактор изображений и двоичный редактор. Любые управляемые ресурсы, которые вы хотите изменить, должны быть связанными ресурсами. Редакторы ресурсов Visual Studio не поддерживают редактирование встроенных ресурсов.

Редактировать ресурс

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

Выберите байт, который хотите изменить.

Клавиша Tab перемещает фокус между шестнадцатеричным разделом и разделом ASCII в двоичном редакторе. Вы можете использовать клавиши Page Up и Page Down для перемещения по ресурсу на один экран за раз.

Введите новое значение.

Значение немедленно меняется как в шестнадцатеричном, так и в ASCII-разделе, и фокус перемещается на следующее значение в строке.

Двоичный редактор автоматически принимает изменения, когда вы закрываете редактор.

Чтобы найти двоичные данные

Вы можете искать строки ASCII или шестнадцатеричные байты. Например, чтобы найти Hello, можно выполнить поиск либо по строке Hello, либо по ее шестнадцатеричному значению 48 65 6C 6C 6F.

Перейдите в меню Правка > Найти.

В поле «Найти» выберите предыдущую строку поиска из раскрывающегося списка или введите данные, которые вы хотите найти.

Выберите любой из параметров поиска и выберите «Найти далее».

Чтобы создать новый пользовательский ресурс или ресурс данных

Вы можете создать новый настраиваемый ресурс или ресурс данных, поместив ресурс в отдельный файл, используя обычный синтаксис файла сценария ресурса (.rc), а затем включив этот файл, щелкнув проект правой кнопкой мыши в обозревателе решений и выбрав Ресурсы включаются.

Создайте файл .rc, содержащий пользовательский ресурс или ресурс данных.

Вы можете вводить пользовательские данные в файл .rc в виде строк в кавычках, заканчивающихся нулем, или в виде целых чисел в десятичном, шестнадцатеричном или восьмеричном формате.

В обозревателе решений щелкните правой кнопкой мыши RC-файл вашего проекта и выберите Ресурсы включают.

Убедитесь, что синтаксис и написание введенного вами текста верны. Содержимое поля «Директивы времени компиляции» вставляется в файл сценария ресурсов точно так же, как вы их вводите.

Нажмите "ОК", чтобы сохранить изменения.

Еще один способ создать пользовательский ресурс — импортировать внешний файл в качестве настраиваемого ресурса, см. раздел Как управлять ресурсами.

Читайте также: