Редактирование в двоичном - PullRequest
0 голосов
/ 26 ноября 2018

Я возился с несколькими шестнадцатеричными редакторами, но на самом деле ничего не помогло.

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

Я пытался использовать vim с%! xxd -b, но тогда он не будет работать с%! xxd -r.Я знаю, как преобразовать файл в двоичный файл, но я ищу способ динамически изменить его в этом формате и сохранить его.

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

Любая помощь приветствуется: D

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

windows open cmd.exe или notepad ++ или любой другой редактор
включение клавиши numlock
На ноутбуках необходимо использовать функциональную клавишу или синие / серые серебряные цифры над клавишами алфавита (использование цифр в верхней строке приведет кне работают, поскольку они отображаются на другой код сканирования.

нажмите клавишу Alt + 255 будет соответствовать 0xff
нажмите клавишу Alt + 254 будет соответствовать 0xfe

см. ниже для демонстрации

C:\>copy con rawbin.bin
 ■²ⁿ√·∙⌂~}─^Z
^Z
        1 file(s) copied.

C:\>xxd rawbin.bin
0000000: fffe fdfc fbfa f97f 7e7d c41a 0d0a       ........~}....

C:\>

Alt-CHar_in winword

0 голосов
/ 26 ноября 2018

vim или gvim должны работать для вас напрямую, без фильтра xxd.

Откройте файл в (g) vim.Поместите курсор на символ и введите ga, чтобы увидеть его код символа в строке состояния.Чтобы вставить символ NNN, поместите курсор в нужное место, перейдите в режим вставки и введите Ctrl-v, а затем введите трехзначный десятичный код.Используйте Ctrl-v x HH для ввода символа с помощью его шестнадцатеричного кода.

Убедитесь, что ваш терминал не настроен на использование UTF8, потому что в UTF8 ввод Ctrl-v 128 фактически вставит c280, utf-8кодирование символа 128 вместо 80.

LC_ALL=C vim binary-file

- это самый простой способ убедиться, что вы выполняете редактирование на основе двоичных символов в vim, но это может привести к странным вещам, если ваш терминал работает в режиме utf-8.

LC_ALL=C gvim binary-file

должен открыть автономное окно с правильным отображением.

К вашему сведению, если вы действительно хотите работать в utf-8, Ctrl-v u HHHH - это как ввести Unicodeсимвол с шестнадцатеричной кодовой точкой HHHH.

...