Existem vários conversores on-line, como este: link
Existe um aplicativo / script lá fora que pode converter uma série de bytes de hex a dec (se não, há uma maneira fácil de conseguir isso no prompt de comando em algumas linhas)?
03 01 9d f0 b4 05 01 67 40 20 00 6b ad
.js
script para cscript
:
num = [];
for (i = 0; i < WScript.Arguments.Length; i++) {
arg = WScript.Arguments(i);
num.push(parseInt(arg, 16));
}
WScript.Echo(num.join(" "));
Script em lote para cmd.exe
:
@echo off & setlocal
set /a out=0x%1
:loop
if "%~1"=="" goto :end
set /a num=0x%1
set out=%out% %num%
shift
goto :loop
:end
echo.%out%
Se tudo que você quer é uma string de hex para uma string de decimal, então este minúsculo programa perl fará isso:
#!/usr/bin/perl
while(<>){s/(.\s*.)\s*/hex($1).' '/eg;print;}
input.hex:
68dcdec4e2c8eae8d2c8e2dedcd6e04d2042fedae52ceac04 ccedaecd8c042ccd8c046cedad0e8dac8eac8c048e0dac044a a82889046c0d2c8d8daccdecacc5042bedae4e04ee2dcd046c
./hex2dec.pl < input.hex
Ele perdoa o espaço em branco na fonte e procura apenas pares consecutivos de dígitos hexadecimais.
Basta modificar com sprintf, push, split etc para controlar o formato de saída
Se você instalar o perl no windows, isso funcionará na linha de comando:
perl -e "while(<>){s/(.\s*.)\s*/hex($1).' '/eg;print;}" < input.hex
Perl é incrível. Ninguém deveria ficar sem isso!