Ubah string hex menjadi string ASCII di file batch Windows [duplikat]

Jan 25 2021

Dalam file batch Windows (cmd), saya ingin mengonversi konten string hex dalam bentuk

4C6F67696300000000000000

ke string ASCII yang setara, di sini "Logika". String hex selalu berukuran sama (12 oktet). Perhatikan bahwa itu dihentikan null jika string kurang dari 12 karakter. Hanya diperlukan konversi karakter ASCII biasa yang dapat dicetak (20-7F). Solusi batch murni lebih disukai.

Jawaban

1 mEm Jan 25 2021 at 01:50

Gunakan certutilalat, lihat certutil /?untuk info lebih lanjut.

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