我有一个字符串,让我们说“123 | ABC | test | 12345 | FF”,我想xor每个字符的ascii值并以十六进制打印结果。
最简单的方法是什么?
答案 0 :(得分:4)
发现它......
lrc = 0
input.each_byte do | c |
lrc ^= c
end
hexVal = lrc.to_s(16)
答案 1 :(得分:4)
在Ruby 1.8.7或1.9.1中:
input.bytes.inject { |a,b| a ^ b }.to_s(16)