Question Conversion d'une série d'octets à partir de nombres hexadécimaux en nombres décimaux


Existe-t-il une application / un script capable de convertir une série d’octets de hexadécimal en déc (si ce n’est pas le cas, existe-t-il un moyen facile d’y parvenir en quelques lignes)?

03 01 9d f0 b4 05 01 67 40 20 00 6b ad

3
2017-07-07 22:26


origine




Réponses:


Il y a des tonnes de convertisseurs en ligne, comme celui-ci: http://home2.paulschou.net/tools/xlate/


1
2017-07-07 22:37



-1 pour simplement poster un lien. C'est un lieu de collecte de connaissances, que se passe-t-il si le lien meurt? - Nifle
@Nifle Utilisez l'un des des milliers d'autres là-bas? Le PO n'a pas demandé une leçon sur les mathématiques hexadécimales, mais une conversion unique. - Andrew Lambert
@ Amazed: Je pense que Nifle signifiait ceux similaires au lien que vous avez inclus, mais ces milliers d'autres serait suffisant (ne connaissait pas les mots-clés pour les rechercher correctement à l'origine) - stanigator


.js script pour cscript:

num = [];
for (i = 0; i < WScript.Arguments.Length; i++) {
    arg = WScript.Arguments(i);
    num.push(parseInt(arg, 16));
}
WScript.Echo(num.join(" "));

Script de lot pour 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%

3
2017-07-07 22:35





Si tout ce que vous voulez, c'est une chaîne d'hex pour une chaîne de caractères decimal, alors ce minuscule programme perl le fera:

#!/usr/bin/perl
while(<>){s/(.\s*.)\s*/hex($1).' '/eg;print;}

input.hex:

68edcdec4e2c8eae8d2c8e2dedcd6e04d2042fedae52ceac04 ccedaecd8c042ccd8c046cedad0e8dac8eac8c048e0dac044a a82889046c0d2c8d8daccdecacc5042bedae4e04ee2dcd046c

./hex2dec.pl < input.hex

Il pardonne de l'espace blanc dans la source et ne recherche que des paires consécutives de chiffres hexadécimaux.

Modifiez simplement avec sprintf, push, split etc pour contrôler le format de sortie

Si vous installez perl sur Windows, cela fonctionnera sur la ligne de commande:

perl -e "while(<>){s/(.\s*.)\s*/hex($1).' '/eg;print;}" < input.hex

Perl est incroyable. Personne ne devrait s'en passer!


0
2017-07-23 21:59