【问题标题】:Convert binary string to hexadecimal in Ruby在Ruby中将二进制字符串转换为十六进制
【发布时间】:2017-07-18 22:25:37
【问题描述】:

将二进制字符串转换为十六进制的最有效方法是什么?我正在尝试做这样的事情:

a = '1010'    #Binary

然后变成

a = 'A'       #Hexa

【问题讨论】:

    标签: ruby binary hex


    【解决方案1】:

    您可以先将其转换为整数,提示该字符串是二进制 (to_i(2)),然后再转换为十六进制 (to_s(16)

    "1010".to_i(2).to_s(16) # => 'a'
    

    如果您需要大写,可以在结果字符串上调用upcase

    【讨论】:

    • to_i(2) 不会转换为十进制。它转换为整数。整数不是十进制、二进制或十六进制,它们只是。只有数字的字符串解释有基础,数字本身没有。
    • @JörgWMittag 澄清了答案。 WDYT?
    猜你喜欢
    • 1970-01-01
    • 2019-08-23
    • 1970-01-01
    • 2021-10-30
    • 2017-05-26
    • 2013-11-24
    • 2017-02-23
    • 2014-08-03
    相关资源
    最近更新 更多