原地址:
http://my.oschina.net/SunLightJuly/blog/220844
之前因为在调试程序的时候,要查看Lua的二进制字串里的内容,所以找了个二进制串转Hex显示串的小函数。昨晚群里有朋友想找从Hex显示串转换回来的函数,就又写了一个小函数。这下就凑了一对,随手在这里记录一下吧。
其实两个函数都很简单,就是一条string.gsub语句而已,作为string.gsub使用的实例倒是不错。
local function bin2hex(s) s=string.gsub(s,"(.)",function (x) return string.format("%02X ",string.byte(x)) end) return s end local h2b = { ["0"] = 0, ["1"] = 1, ["2"] = 2, ["3"] = 3, ["4"] = 4, ["5"] = 5, ["6"] = 6, ["7"] = 7, ["8"] = 8, ["9"] = 9, ["A"] = 10, ["B"] = 11, ["C"] = 12, ["D"] = 13, ["E"] = 14, ["F"] = 15 } local function hex2bin( hexstr ) local s = string.gsub(hexstr, "(.)(.)%s", function ( h, l ) return string.char(h2b[h]*16+h2b[l]) end) return s end