我有一些十六进制数字,想要将它们转换成十进制数字。例如,01 -> 1,09 -> 9,12 -> 18。
我尝试了:
01.unpack("n")
但那失败了。
"01".unpack("n") # => [12337]
那不是我想要的。
你知道正确的答案吗?
我有一些十六进制数字,想要将它们转换成十进制数字。例如,01 -> 1,09 -> 9,12 -> 18。
我尝试了:
01.unpack("n")
但那失败了。
"01".unpack("n") # => [12337]
那不是我想要的。
你知道正确的答案吗?
String#to_i
接受一个额外的参数,用于指定数字的进制。十六进制是基数为16的,因此以下代码适用于您:
"01".to_i(16)
如果该数字带有前缀0x
,则调用Integer
函数也可以使用:
Integer("0x01")
"g".to_i(16)
зљ„з»“жћњдёє0пјЊиЂЊInteger("g",16)
дјљжЉ›е‡єдёЂдёЄArgumentErrorй”™иЇЇгЂ‚ - Max