如何在Lua中将UUID从二进制格式转换为字符串格式?

时间:2014-05-08 10:40:37

标签: string lua uuid

我的Lua程序中有二进制格式的UUID(字符串只有16个字节)。我需要将其转换为字符串格式,例如550e8400-e29b-41d4-a716-446655440000

我该如何转换它?

2 个答案:

答案 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))