Convertir une chaîne hexadécimale en chaîne ASCII dans le fichier de commandes Windows [dupliquer]

Jan 25 2021

Dans un fichier batch Windows (cmd), je voudrais convertir le contenu d'une chaîne hexadécimale sous la forme

4C6F67696300000000000000

à sa chaîne ASCII équivalente, ici "Logic". La chaîne hexadécimale a toujours la même taille (12 octets). Notez qu'il est terminé par un nul si la chaîne comporte moins de 12 caractères. Seule la conversion de caractères ASCII imprimables simples (20-7F) est requise. Les solutions discontinues pures sont préférées.

Réponses

1 mEm Jan 25 2021 at 01:50

Utilisez l' certutiloutil, voir certutil /?pour plus d'informations.

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