对于使用"string.byte"对UTF-8字符进行操作,如何将返回的数组转换回UTF-8字符?

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

local Character = utf8.char(1114111) --示例UTF8字符
local A,B,C,D = Character:byte(1, -1)
print(A,B,C,D) -- 244 143 191 191

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

点赞
用户734069
用户734069

utf8.codepoint 函数将字节数组作为字符串输入,并将其转换为代码点序列,并且每个返回值是一个单独的代码点。因此,您只需要将这四个值转换为字符串以供 utf8.codepoint 使用。string.char(A, B, C, D) 可以很好地完成这项任务。

2018-12-31 14:45:32