Tengo un archivo hexadecimal que estoy intentando convertir a binario. Realicé esto en Linux antes de usar el comando:
xxd -r -p mykey.hex > mykey.bin
Pero no puedo entender cómo ejecutar este mismo comando en Windows. He descargado algunas herramientas de edición hexadecimal, pero no estoy seguro de cómo usarlas para convertir hexadecimal en una representación binaria.
¿Hay alguna manera de hacer esto en Windows o existen herramientas similares que me permitan hacerlo?
Respuesta1
Hay un puerto nativo de xxd para Win32.
Verunxutils aquípara descargas.
Otra fuente de puertos Win32 de utilidades comunes GNU y/o *nix esGnuWin32.
Añadido por Barlop
Esta respuesta es incorrecta, vea los comentarios, xxd no está en unxutils, ni tampoco en gnuwin32.
Respuesta2
VIM 7.x contiene 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 también tiene uno
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
agregado
xd esta disponiblehttps://sourceforge.net/projects/xxd-for-windows/
xxd v1.11, 8 de junio 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>
Respuesta3
Para convertir una cadena hexadecimal en un archivo binario, esto funciona en 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
Esa última línea no funcionará en PowerShell 5.1, pero puedes hacer esto en su lugar:
Set-Content -Path 'out.bin' -Value $byte_array -Encoding Byte
PowerShell viene preinstalado con Windows.
Respuesta4
WinHex es lo mejor para ejecutar estúpidos comandos de DOS.
- Abrir archivo hexadecimal
- Editar>>Archivo convertidor
- En el cuadro de diálogo, seleccione Intel Hex a Binario.
- Presione el botón Aceptar.
- ¿Redondear el tamaño del archivo? Haga clic en No.
- GUARDAR archivo como contenedor.