【发布时间】:2010-12-04 15:46:12
【问题描述】:
我最近编写了一个脚本来解析单个二进制字节月份字段的文本表示。
(别问:-{)
在摆弄 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 个数字,但有更好的方法吗?
【问题讨论】:
-
您的意思是
0x1而不是x01? -
@Nathan 在这种特殊情况下不,但在非疯狂的情况下,您可能会想要 0x01,但您的回答涵盖了这两种情况,这就是我接受它的原因!
-
反之,十进制转十六进制,请参阅 Stack Overflow 问题 How to convert decimal to hexadecimal in Perl。