Recientemente escribí una secuencia de comandos que analizó una representación de texto de un campo de un solo byte binario.¿Cómo puedo convertir cadenas hexagonales en números en Perl?
(no preguntes: - {)
Después de tocar el violín con sprintf por un tiempo me di por vencido y lo hizo;
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};
Lo que me sale con la suya, porque solo estoy usando 12 números, pero ¿hay una mejor manera de hacerlo?
¿quisiste decir '0x1' en lugar de' x01'? –
@Nathan En esta situación particular, no, pero en una situación no insensata es probable que desee el 0x01, pero su respuesta cubrió ambas situaciones, ¡por eso lo acepté! –
Por el contrario, de decimal a hexadecimal, vea Pregunta de desbordamiento de pila * [Cómo convertir decimal a hexadecimal en Perl] (http://stackoverflow.com/questions/10481001) *. –