在 Windows 上將檔案的十六進位轉儲轉換為二進位(程式)檔案?

在 Windows 上將檔案的十六進位轉儲轉換為二進位(程式)檔案?

我有一個十六進位文件,我正在嘗試將其轉換為二進位。在使用命令之前我已經在 Linux 上執行過此操作:

xxd -r -p mykey.hex > mykey.bin

但我不知道如何在 Windows 上執行相同的命令。我已經下載了一些十六進位編輯器工具,但不太確定如何使用它們將十六進位轉換為二進位表示法。

有沒有辦法在 Windows 中執行此操作,或者是否有任何類似的工具可以讓我執行此操作?

答案1

Win32 有一個 xxd 的本機連接埠。

這裡是 unxutils用於下載。

常見 GNU 和/或 *nix 實用程式的 Win32 連接埠的另一個來源是GnuWin32

新增者 巴洛普

這個答案是不正確的,請參閱評論,xxd 不在 unxutils 中,也不在 gnuwin32 中。

答案2

VIM 7.x 包含適用於 Windows 的 xxd

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也有一個

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

添加

xxd 有空https://sourceforge.net/projects/xxd-for-windows/

xxd v1.11,2013 年 6 月 8 日,作者:Juergen Weigert 等人。 (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>

答案3

要將十六進位字串轉換為二進位文件,這適用於 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

最後一行在 PowerShell 5.1 中不起作用,但您可以這樣做:

Set-Content -Path 'out.bin' -Value $byte_array -Encoding Byte

PowerShell 隨 Windows 預先安裝。

答案4

WinHex 是您啟動愚蠢的 DOS 命令的最佳選擇。

  1. 打開十六進位文件
  2. 編輯>>轉換器文件
  3. 在對話方塊中,選擇 Intel Hex to Binary
  4. 點選確定按鈕。
  5. 舍入文件大小?按一下“否”。
  6. 將文件另存為 Bin。

相關內容