gpt4 book ai didi

utf-8 - 如何在lua中将UTF8字节数组转换为字符串

转载 作者:行者123 更新时间:2023-12-04 14:29:08 24 4
gpt4 key购买 nike

我有一张这样的 table

table = {57,55,0,15,-25,139,130,-23,173,148,-24,136,158}

它是由 php 解包函数的 utf8 编码字节数组
unpack('C*',$str);

如何将其转换为可以在 lua 中读取的 utf-8 字符串?

最佳答案

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

请注意,lua 的标准函数或提供的字符串工具都不支持 utf-8。如果您尝试 print从上述函数返回的 utf-8 编码字符串,您只会看到一些时髦的符号。如果您需要更广泛的 utf-8 支持,您需要查看 lua wiki 中提到的一些库。 .

关于utf-8 - 如何在lua中将UTF8字节数组转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18694131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com