Использование «string.byte» для символа UTF-8 возвращает массив, как я могу преобразовать этот массив обратно в символ UTF-8? - PullRequest
0 голосов
/ 31 декабря 2018

Позвольте мне объяснить мою проблему на примере:

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"?

1 Ответ

0 голосов
/ 31 декабря 2018

Функция utf8.codepoint принимает байтовый массив в виде строки и преобразует его в последовательность кодовых точек, причем каждое возвращаемое значение является отдельной кодовой точкой.Так что вам просто нужно преобразовать эти четыре значения в строку для использования utf8.codepoint.string.char(A, B, C, D) сделает это адекватно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...