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

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

如何转换?

点赞
用户1009479
用户1009479

以下是将一个 2 字节字符串转换为其十六进制格式的程序:

local str = "\x55\x0e"
local result = string.format("%02x%02x", string.byte(str, 1, 2))
print(result)

输出结果:550e

string.byte 函数获取字符串中字符的内部数值表示,然后使用 string.format 函数获取其十六进制格式。

你可以扩展此程序以将 UUID 转换为其十六进制格式。

2014-05-08 12:26:37
用户107090
用户107090
`string.format("%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", string.byte(str,1,16))`

将字符串 str 的前 16 个字节转换为十六进制的形式,并按照 UUID 的格式输出。

2014-05-08 14:22:39