Позвольте мне объяснить мою проблему на примере:
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) сделает это адекватно.
utf8.codepoint
string.char(A, B, C, D)