Lua判断字符串中包含中文字符的方法和计算字符串宽度函数分享
程序员文章站
2022-07-05 11:19:23
一、判断字符串中包含中文字符的方法
遍历数组,对每个字节使用string.byte(),发现有大于127的,就是汉字,可以参照下面的代码。
二、计算字符串宽度函数
复...
一、判断字符串中包含中文字符的方法
遍历数组,对每个字节使用string.byte(),发现有大于127的,就是汉字,可以参照下面的代码。
二、计算字符串宽度函数
复制代码 代码如下:
-- 计算字符串宽度
local str = "jimmy: 你好,世界!"
local fontsize = 20
local leninbyte = #str
local width = 0
for i=1,leninbyte do
local curbyte = string.byte(str, i)
local bytecount = 1;
if curbyte>0 and curbyte<=127 then
bytecount = 1
elseif curbyte>=192 and curbyte<223 then
bytecount = 2
elseif curbyte>=224 and curbyte<239 then
bytecount = 3
elseif curbyte>=240 and curbyte<=247 then
bytecount = 4
end
local char = string.sub(str, i, i+bytecount-1)
i = i + bytecount -1
if bytecount == 1 then
width = width + fontsize * 0.5
else
width = width + fontsize
print(char)
end
end
print("总宽度: "..width)
上一篇: MySQL中的唯一性约束与NULL详解
下一篇: Lua中获取table长度的方法