Lua判断字符串中包含中文字符的方法和计算字符串宽度函数分享
一、判断字符串中包含中文字符的方法
遍历数组,对每个字节使用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)
相关推荐
文山羊 2020-10-20
Tristahong 2020-10-14
stulen 2020-08-15
xiaoseyihe 2020-08-11
amberom 2020-08-03
fengzhiwu 2020-08-01
pythonxuexi 2020-07-30
leoaran 2020-07-21
littie 2020-07-19
kkpiece 2020-07-08
zlsdmx 2020-07-05
银角大王 2020-07-05
yjsflxiang 2020-07-04
shonmark 2020-06-27
chinawangfei 2020-06-16
liusarazhang 2020-06-14
xiaobaif 2020-06-14