【发布时间】:2017-04-02 15:07:12
【问题描述】:
我有一个整数数组,范围从0 到255,每个代表两个十六进制数字。我想使用 Ruby 将此数组转换为一个十六进制字符串。我该怎么做?
【问题讨论】:
-
这样的事情有帮助吗? stackoverflow.com/questions/84421/…
-
arr.map { |n| n.to_s(16) }.join('') -
@Antonio 我看到了,但它会将
1之类的字符转换为1而不是01,这是一个问题,因为每个元素代表两个十六进制字符。 -
arr.map { |n| sprintf('%02x', n) }.join('') -
...或@Dave #2 的变体:
[0, 128, 255].each_with_object('') { |n,s| s << "%02x" % n } #=> "0080ff"或..(."%02x" % n).upcase..,如果需要=> "0080FF"。
标签: ruby