【发布时间】:2017-07-18 22:25:37
【问题描述】:
将二进制字符串转换为十六进制的最有效方法是什么?我正在尝试做这样的事情:
a = '1010' #Binary
然后变成
a = 'A' #Hexa
【问题讨论】:
将二进制字符串转换为十六进制的最有效方法是什么?我正在尝试做这样的事情:
a = '1010' #Binary
然后变成
a = 'A' #Hexa
【问题讨论】:
您可以先将其转换为整数,提示该字符串是二进制 (to_i(2)),然后再转换为十六进制 (to_s(16)
"1010".to_i(2).to_s(16) # => 'a'
如果您需要大写,可以在结果字符串上调用upcase。
【讨论】:
to_i(2) 不会转换为十进制。它转换为整数。整数不是十进制、二进制或十六进制,它们只是是。只有数字的字符串解释有基础,数字本身没有。