gpt4 book ai didi

lua - 使用 Lua 使用 unicode 字符格式化字符串

转载 作者:行者123 更新时间:2023-12-02 20:59:32 26 4
gpt4 key购买 nike

我尝试将字符串与 unicode 字符对齐。
但它不起作用。
空格不正确。 :(
Lua的版本是5.1。
有什么问题吗?

local t = 
{
"character",
"루아", -- korean
"abc감사합니다123", -- korean
"ab23",
"lua is funny",
"ㅇㅅㅇ",
"美國大將", --chinese
"qwert-54321",
};

for k, v in pairs(t) do
print(string.format("%30s", v));
end


result:----------------------------------------------
character
루아
abc감사합니다123
ab23
lua is funny
ㅇㅅㅇ
美國大將
qwert-54321

最佳答案

function utf8format(fmt, ...)
local args, strings, pos = {...}, {}, 0
for spec in fmt:gmatch'%%.-([%a%%])' do
pos = pos + 1
local s = args[pos]
if spec == 's' and type(s) == 'string' and s ~= '' then
table.insert(strings, s)
args[pos] = '\1'..('\2'):rep(#s:gsub("[\128-\191]", "")-1)
end
end
return (fmt:format((table.unpack or unpack)(args))
:gsub('\1\2*', function() return table.remove(strings, 1) end)
)
end

local t =
{
"character",
"루아", -- korean
"abc감사합니다123", -- korean
"ab23",
"lua is funny",
"ㅇㅅㅇ",
"美國大將", --chinese
"qwert-54321",
"∞"
};

for k, v in pairs(t) do
print(utf8format("%30s", v));
end

但还有另一个问题:在大多数字体上,韩文和中文符号比拉丁字母宽。

关于lua - 使用 Lua 使用 unicode 字符格式化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39009522/

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