แปลงสตริงฐานสิบหกเป็นสตริง ASCII ในไฟล์แบตช์ของ Windows [ซ้ำกัน]
ในไฟล์ Windows batch (cmd) ฉันต้องการแปลงเนื้อหาของสตริงเลขฐานสิบหกในรูปแบบ
4C6F67696300000000000000
เป็นสตริง ASCII ที่เทียบเท่าที่นี่ "Logic" สตริงเลขฐานสิบหกมีขนาดเท่ากันเสมอ (12 อ็อกเต็ต) โปรดทราบว่าจะสิ้นสุดด้วยค่า null หากสตริงมีความยาวน้อยกว่า 12 อักขระ ต้องมีการแปลงเฉพาะอักขระ ASCII ที่พิมพ์ได้ธรรมดา (20-7F) เท่านั้น ต้องการโซลูชันแบบแบทช์บริสุทธิ์
คำตอบ
1 mEm
ใช้certutil
เครื่องมือดูcertutil /?
ข้อมูลเพิ่มเติม
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