function Utf8to32(utf8str)
assert(type(utf8str) == "string")
local res, seq, val = {}, 0, nil
for i = 1, #utf8str do
local c = string.byte(utf8str, i)
if seq == 0 then
table.insert(res, val)
seq = c < 0x80 and 1 or c < 0xE0 and 2 or c < 0xF0 and 3 or
c < 0xF8 and 4 or --c < 0xFC and 5 or c < 0xFE and 6 or
error("invalid UTF-8 character sequence")
val = (c & 2^(8-seq) - 1)
else
val = ((val<< 6)| (c & 0x3F))
end
seq = seq - 1
end
table.insert(res, val)
table.insert(res, 0)
return res
end
for k,v in pairs(Utf8to32("sss"))
do
if v~=0 then
print(string.format("%04x", v))
end
end
To embed this project on your website, copy the following code and paste it into your website's HTML: