发布网友 发布时间:2022-04-25 17:52
共1个回答
热心网友 时间:2022-04-26 23:59
好了 首先是第一步转成16进制: icon = "22 12 41 2 1 8 43 211 42"# => "22 12 41 2 1 8 43 211 42" icon.split.map {|i| i.to_i.to_s(16) }# => ["16", "c", "29", "2", "1", "8", "2b", "d3", "2a"] 然后是你说的格式化(不太明白你的意思,不知道是不是个位数前面要补0的意思): icon.split.map {|i| i.to_i.to_s(16) }.map { |s| s.size == 1 ? s.insert(0, "0") : s}# => ["16", "0c", "29", "02", "01", "08", "2b", "d3", "2a"] 最后拼起来: icon.split.map {|i| i.to_i.to_s(16) }.map { |s| s.size == 1 ? s.insert(0, "0") : s}.join=> "160c290201082bd32a"