gpt4 book ai didi

perl - 如何在 Perl 中将十六进制字符串转换为数字?

转载 作者:行者123 更新时间:2023-12-03 11:13:14 25 4
gpt4 key购买 nike

我最近编写了一个脚本来解析单个二进制字节月份字段的文本表示。

(不要问:-{)

在摆弄了 sprintf 一段时间后,我放弃了并这样做了;

our %months = qw / x01 1 
x02 2
x03 3
x04 4
x05 5
x06 6
x07 7
x08 8
x09 9
x0a 10
x0b 11
x0c 12 /;
...
my $month = $months{$text};

我逃脱了,因为我只使用了 12 个数字,但是有没有更好的方法来做到这一点?

最佳答案

如果你有

$hex_string = "0x10";

您可以使用:
$hex_val = hex($hex_string);

你会得到: $hex_val == 16 hex不需要字符串开头的“ 0x ”。如果丢失,它仍会将十六进制字符串转换为数字。

您也可以使用 oct根据前缀将二进制、八进制或十六进制字符串转换为数字:
  • 0b - 二进制
  • 0 - 八进制
  • 0x - 十六进制
  • 关于perl - 如何在 Perl 中将十六进制字符串转换为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1531993/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com