바이너리로 변환하려는 16진수 파일이 있습니다. 다음 명령을 사용하기 전에 Linux에서 이 작업을 수행했습니다.
xxd -r -p mykey.hex > mykey.bin
하지만 Windows에서 이 동일한 명령을 수행하는 방법을 알 수 없습니다. 몇 가지 16진수 편집기 도구를 다운로드했지만 이를 사용하여 16진수를 2진수 표현으로 변환하는 방법을 잘 모르겠습니다.
Windows에서 이 작업을 수행할 수 있는 방법이 있습니까? 아니면 이 작업을 수행할 수 있는 유사한 도구가 있습니까?
답변1
Win32에 대한 xxd의 기본 포트가 있습니다.
보다여기 unxutils다운로드용.
일반적인 GNU 및/또는 *nix 유틸리티의 Win32 포트의 또 다른 소스는 다음과 같습니다.GnuWin32.
Barlop이 추가함
이 답변은 올바르지 않습니다. 주석을 참조하세요. 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 et al. (윈32)
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
16진수 문자열을 이진 파일로 변환하려면 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 명령을 시작하는 데 가장 적합합니다.
- 16진수 파일 열기
- 편집>>변환기 파일
- 대화 상자에서 Intel Hex to Binary를 선택합니다.
- 확인 버튼을 누르세요.
- 파일 크기를 반올림하시겠습니까? 아니오를 클릭하세요.
- 파일을 Bin으로 저장합니다.