Konwertuj ciąg szesnastkowy na ciąg ASCII w pliku wsadowym systemu Windows [duplikat]
W pliku wsadowym systemu Windows (cmd) chciałbym przekonwertować zawartość ciągu szesnastkowego w formularzu
4C6F67696300000000000000
do odpowiadającego mu ciągu ASCII, tutaj „Logika”. Ciąg szesnastkowy ma zawsze ten sam rozmiar (12 oktetów). Zauważ, że jest zakończony znakiem null, jeśli łańcuch ma mniej niż 12 znaków. Wymagana jest tylko konwersja zwykłych drukowalnych znaków ASCII (20-7F). Preferowane czyste roztwory wsadowe.
Odpowiedzi
1 mEm
Użyj certutil
narzędzia, zobacz, certutil /?
aby uzyskać więcej informacji.
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