Konvertieren einer Hex-Zeichenfolge in eine ASCII-Zeichenfolge in der Windows-Batchdatei [Duplikat]

Jan 25 2021

In einer Windows-Batchdatei (cmd) möchte ich den Inhalt einer Hex-Zeichenfolge in das Formular konvertieren

4C6F67696300000000000000

zu seiner äquivalenten ASCII-Zeichenfolge, hier "Logik". Die Hex-Zeichenfolge ist immer gleich groß (12 Oktette). Beachten Sie, dass es nullterminiert ist, wenn die Zeichenfolge weniger als 12 Zeichen enthält. Es ist nur die Konvertierung von einfach druckbaren ASCII-Zeichen (20-7F) erforderlich. Reine Batch-Lösungen bevorzugt.

Antworten

1 mEm Jan 25 2021 at 01:50

Verwenden Sie das certutilTool, siehe certutil /?für weitere Informationen.

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