Ton*_*ony 6 lua bytearray utf-8 unpack
我有一张这样的桌子
table = {57,55,0,15,-25,139,130,-23,173,148,-24,136,158}
Run Code Online (Sandbox Code Playgroud)
它是由php解包函数的utf8编码字节数组
unpack('C*',$str);
Run Code Online (Sandbox Code Playgroud)
如何将其转换为utf-8字符串我可以在lua中读取?
Lua没有提供直接函数来将数字形式的utf-8字节表转换为utf-8字符串文字.但是在以下帮助下为此编写一些内容很容易string.char:
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
Run Code Online (Sandbox Code Playgroud)
请注意,lua的标准函数或提供的字符串工具都不是utf-8.如果你尝试print从上面的函数返回utf-8编码的字符串,你会看到一些时髦的符号.如果您需要更广泛的utf-8支持,您可以查看lua wiki中提到的一些库.
| 归档时间: |
|
| 查看次数: |
7881 次 |
| 最近记录: |