1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
local function utf8_from(t) 	local bytearr = {} 	for _, v in ipairs(t) do 		local utf8byte = v < 0 and (0xff + v + 1) or v 		table.insert(bytearr, string.char(utf8byte)) 	end 	return table.concat(bytearr) end local function utf8_expend(str) -- Put message 	local t = {} 	for num in str:gmatch('[^x]+') do 		table.insert(t, tonumber(num, 16)) 	end 	return utf8_from(t) end
1
2
3
2
3
print(utf8_expend('x61x7A')) --> 'az' print(utf8_expend('xE4xBDxA0xE5xA5xBD')) --> '你好' print(utf8_expend('xD0x9FxD1x80xD0xB8xD0xB2xD0xB5xD1x82')) --> 'Привет'