在 UTF-8 字符上使用"string.byte"会返回一个数组,如何将该数组转换回 UTF-8 字符?



让我用一个例子来解释我的问题:

local Character = utf8.char(1114111) --Example UTF8 character
local A,B,C,D = Character:byte(1, -1)
print(A,B,C,D) -- 244 143 191 191

如何将"244 143 191 191"转换回"1114111"?

> utf8.codepoint 函数将字节数组作为字符串,并将其转换为一系列代码点,每个返回值都是一个单独的代码点。因此,您只需要将这四个值转换为字符串以供utf8.codepoint使用。 string.char(A, B, C, D)会做得足够。

最新更新