lua以16进制打印二进制字符串

发布时间 2023-11-30 10:15:32作者: 悉野
local function getHexString(bytes_str)
    if bytes_str == nil then
        return ""
    end
    local ret = ""
    for index = 1, #bytes_str do
        -- 这儿用这么多临时变量, 是为了方便注释
        -- 返回ascii码值
        local byte = string.byte(bytes_str, index)
        -- 转成16进制字符
        local hex_str = string.format("%02x", byte)
        ret = ret .. hex_str .. " "
    end
    return ret
end

local byteString = "\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64" -- 示例字节字符串  
print(getHexString(byteString))