str.each_byte do |byte| puts byte.to_s(16) end
用 "%02X"
str.each_byte{|byte| puts "%02X" % byte}
或
str.each_byte{|byte| printf "%02X\n", byte}
这样也可以
printf("%02X \n" , byte)
不用一个个字节的搞,unpack 就可以了
unpack
str.unpack 'H*'
这个没办法两位一组那样清晰的显示,调试不方便
比如这种格式
20 20 76 61 72 20 6E 65-74 20 3D 20 72 65 71 75 69 72 65 28 22 6E 65 74-22 29 3B 20 0A 20 20 20 20 76 61 72 20 20 73 74-61 74 65 3D 30 3B 0A 76 61 72 20 72 65 73 70 3D-27 48 54 54 50 2F 31 2E 31 20 32 30 30 20 4F 4B-5C 72 5C 6E 43 6F 6E 74