Chuyển đổi chuỗi hex thành chuỗi ASCII trong tệp hàng loạt của Windows [bản sao]

Jan 25 2021

Trong tệp hàng loạt (cmd) của Windows, tôi muốn chuyển đổi nội dung của chuỗi hex ở dạng

4C6F67696300000000000000

với chuỗi ASCII tương đương của nó, ở đây là "Logic". Chuỗi hex luôn có cùng kích thước (12 octet). Lưu ý rằng nó được kết thúc bằng null nếu chuỗi nhỏ hơn 12 ký tự. Chỉ yêu cầu chuyển đổi các ký tự ASCII có thể in đơn giản (20-7F). Các giải pháp theo lô nguyên chất được ưu tiên.

Trả lời

1 mEm Jan 25 2021 at 01:50

Sử dụng certutilcông cụ, xem certutil /?để biết thêm thông tin.

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