Преобразование шестнадцатеричной строки в строку ASCII в пакетном файле Windows [дубликат]
В пакетном файле Windows (cmd) я хотел бы преобразовать содержимое шестнадцатеричной строки в форму
4C6F67696300000000000000
эквивалентной строке ASCII, здесь "Logic". Шестнадцатеричная строка всегда одного размера (12 октетов). Обратите внимание, что он заканчивается нулем, если строка меньше 12 символов. Требуется только преобразование обычных печатных символов ASCII (20-7F). Предпочтительны чистые периодические растворы.
Ответы
1 mEm
Используйте 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