Eu tenho um arquivo hexadecimal que estou tentando converter para binário. Eu fiz isso no Linux antes de usar o comando:
xxd -r -p mykey.hex > mykey.bin
Mas não consigo descobrir como fazer esse mesmo comando no Windows. Baixei algumas ferramentas de edição hexadecimal, mas não tenho certeza de como usá-las para converter hexadecimal em uma representação binária.
Existe uma maneira de fazer isso no Windows ou existe alguma ferramenta semelhante que me permita fazer isso?
Responder1
Existe uma porta nativa do xxd para Win32.
Verunxutils aquipara downloads.
Outra fonte de portas Win32 de utilitários GNU e/ou *nix comuns éGnuWin32.
Adicionado por Barlop
Esta resposta está incorreta, veja os comentários, xxd não está no unxutils e também não está no gnuwin32.
Responder2
VIM 7.x contém xxd para Windows
https://ftp.nluug.nl/pub/vim/pc/gvim73_46_s.zip
C:\Program Files (x86)\Vim\vim74>.\xxd -v
xxd V1.10 27oct98 by Juergen Weigert (Win32)
C:\Program Files (x86)\Vim\vim74>dir xxd.exe
10/08/2013 12:33 PM 70,144 xxd.exe
C:\Program Files (x86)\Vim\vim74>file xxd.exe
xxd.exe; PE32 executable for MS Windows (console) Intel 80386 32-bit
Cygwin também tem um
C:\cygwin\bin>.\xxd.exe -v
xxd V1.10 27oct98 by Juergen Weigert
C:\cygwin\bin>dir xxd.exe
18/09/2015 05:44 AM 18,963 xxd.exe
C:\cygwin\bin>file xxd.exe
xxd.exe: PE32+ executable (console) x86-64, for MS Windows
adicionado
xxd está disponívelhttps://sourceforge.net/projects/xxd-for-windows/
xxd v1.11, 8 de junho de 2013 por Juergen Weigert et al. (Win32)
C:\Users\User>C:\xxd1p11\xxd-1.11_win32\xxd.exe -v
xxd v1.11, 8 jun 2013 by Juergen Weigert et al. (Win32)
C:\Users\User>
Responder3
Para converter uma string hexadecimal em um arquivo binário, isso funciona no PowerShell Core 7.2.1:
$hex_string = '48656C6C6F2C20576F726C6421'
$hex_string_spaced = $hex_string -replace '..', '0x$& '
$byte_array = [byte[]] -split $hex_string_spaced
Set-Content -Path 'out.bin' -Value $byte_array -AsByteStream
Essa última linha não funcionará no PowerShell 5.1, mas você pode fazer isso:
Set-Content -Path 'out.bin' -Value $byte_array -Encoding Byte
O PowerShell vem pré-instalado com o Windows.
Responder4
WinHex é o melhor para você iniciar comandos estúpidos do DOS.
- Abra o arquivo hexadecimal
- Editar >> Arquivo Conversor
- Na caixa de diálogo, selecione Intel Hex para binário
- Clique no botão OK.
- Arredondar o tamanho do arquivo? Clique em Não.
- SALVAR arquivo como bin.