Converti una stringa esadecimale in una stringa ASCII nel file batch di Windows [duplicato]
In un file batch di Windows (cmd), vorrei convertire il contenuto di una stringa esadecimale nel modulo
4C6F67696300000000000000
alla sua stringa ASCII equivalente, qui "Logic". La stringa esadecimale ha sempre la stessa dimensione (12 ottetti). Notare che è terminato da null se la stringa è inferiore a 12 caratteri. È richiesta solo la conversione di caratteri ASCII semplici stampabili (20-7F). Preferite soluzioni batch pure.
Risposte
1 mEm
Usa lo certutil
strumento, vedi certutil /?
per maggiori informazioni.
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