加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 21:12:58 所属栏目:大数据 来源:网络整理
导读:我最近写了一个解析单个二进制字节月字段的文本表示的脚本. (不要问: – {) 在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
我最近写了一个解析单个二进制字节月字段的文本表示的脚本.

(不要问: – {)

在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

十六进制不需要字符串开头的“0x”.如果它丢失,它仍然会将十六进制字符串转换为数字.

您也可以使用oct将二进制,八进制或十六进制字符串转换为基于前缀的数字:

> 0b – 二进制> 0 – 八进制> 0x – 十六进制

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读