我的Lua程序中有二进制格式的UUID(字符串只有16个字节)。我需要将其转换为字符串格式,例如550e8400-e29b-41d4-a716-446655440000
。
我该如何转换它?
答案 0 :(得分:4)
这是一个将2字节字符串转换为十六进制格式的程序:
local str = "\x55\x0e"
local result = string.format("%02x%02x", string.byte(str, 1, 2))
print(result)
输出:550e
string.byte
获取字符的内部数字表示,然后使用string.format
获取十六进制格式。
您可以将其扩展为自己转换UUID。
答案 1 :(得分:2)
string.format("%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", string.byte(str,1,16))