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

时间:2018-12-31 09:59:12

标签: utf-8 lua

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

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

如何将“ 244143191191”转换回“ 1114111”?

1 个答案:

答案 0 :(得分:2)

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