Mein Code istwie kann ich String Hex-Hex-Zahl in Perl
$str="000000a0";
$hex_num hex "$str";
ich Setvariable will mit einem oder 0x0a konvertieren Wie kann ich es bekommen? Regex? entfernen Sie alle Nullen am Anfang
Mein Code istwie kann ich String Hex-Hex-Zahl in Perl
$str="000000a0";
$hex_num hex "$str";
ich Setvariable will mit einem oder 0x0a konvertieren Wie kann ich es bekommen? Regex? entfernen Sie alle Nullen am Anfang
Wie Sie bereits gesehen haben, können Sie verwenden, um eine hexadezimale Zeichenfolge in einen numerischen Wert zu konvertieren.
print hex $str; # displays "10"
Verwenden printf()
mit "% x" diese Zahl als Hex-Zahl, die mit dem Ausgang
printf '0x%x', hex $str; # displays "0xa"
printf '%x', hex $str; # displays "a"
Add '0x' zum printf()
Format zu formatieren hinzufügen Verwenden Sie "02x", um eine führende Null zu erhalten
printf '0x%02x', hex $str; # displays "0x0a"
Aktualisierung: Wenn Sie das Ergebnis in einer Variablen speichern möchten, verwenden Sie sprintf()
statt printf()
.
my $hex_num = sprintf '0x%02x', hex $str;
Sie haben den Zuweisungsoperator weggelassen. Versuchen Sie Folgendes: $ hex_num = hex ($ str);
Ich möchte Variable mit einem oder 0x0a setzen Wie kann ich es bekommen? – Alex
@Alex: Siehe mein Update –