Convertir une chaîne hexadécimale en chaîne ASCII dans le fichier de commandes Windows [dupliquer]
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
Utilisez l' certutil
outil, 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