Hex zu Binär-Konvertierung in der bash
Ich versuche zu konvertieren, eine Reihe von bytes von hex in bin mit der bash.
aber ich bekomme immer wieder (scheinbar zufällig) "(standard_in) 1: syntax error" aus den Antworten folgenden code:
for j in c4 97 91 8c 85 87 c4 90 8c 8d 9a 83 81
do
BIN=$(echo "obase=2; ibase=16; $j" | bc )
echo $BIN
done
Ich habe eine ähnliche Sache mit Dez zu bin, und das funktioniert einwandfrei:
for i in {0..120}
do
KEYBIN=$(echo "obase=2; ibase=10; $i" | bc)
echo $KEYBIN
done
Hat jemand eine Idee, warum es funktioniert mit dezimal -, aber nicht mit hex?
Meiner Meinung nach die syntax ist so ziemlich das gleiche (es sei denn, ich bin fehlt etwas wirklich schwer.)
- Mögliche Duplikate von linux-shell-scripting: hex-string in bytes
Du musst angemeldet sein, um einen Kommentar abzugeben.
BC ist ein wenig empfindlich, zu Fall für hex-Werte ändern in Großbuchstaben, und es sollte funktionieren
Ausgabe:
length
Funktion. "Der Wert der length Funktion wird die Anzahl der signifikanten Ziffern im Ausdruck."Hier ist das Skript, das ich benutze:
0x
, und die HEX - Spalte tatsächlich Listen decimal-Werte. Aber danke für das Angebot, ein reines bash-Lösung für ein "How to ... "in bash" - Frage! Manchmal, das ist eigentlich das, was die Leute suchen. Sie können nicht immer verlassen sich auf das Vorhandensein von tools wie bc.4.4.12
) nicht brauchen, um das Präfix der hex-zahlen. Das Skript nicht verarbeiten0
richtig wenn Sie möchten, ersetzen Sie$Binary
mit${Binary:-0}
in den letztenecho
nennen