Windows 배치 파일에서 16 진수 문자열을 ASCII 문자열로 변환 [중복]

Jan 25 2021

Windows 배치 (cmd) 파일에서 16 진수 문자열의 내용을 다음 형식으로 변환하고 싶습니다.

4C6F67696300000000000000

동등한 ASCII 문자열 (여기서는 "Logic")으로 16 진수 문자열은 항상 같은 크기 (12 옥텟)입니다. 문자열이 12 자 미만인 경우 null로 종료됩니다. 인쇄 가능한 일반 ASCII 문자 (20-7F)의 변환 만 필요합니다. 순수한 배치 솔루션이 선호됩니다.

답변

1 mEm Jan 25 2021 at 01:50

certutil도구 사용 , 자세한 certutil /?내용은를 참조하십시오 .

setlocal enabledelayedexpansion
set "hex=4C6F67696300000000000000"
echo !hex!> temp.hex
call certutil -decodehex temp.hex str.txt >nul
set /p str=<str.txt
echo:
( del temp.hex & del str.txt )>nul
echo Your decoded string is:"!str!".
endlocal
exit /b 0