local str = "Jimmy: 你好,世界!" local fontSize = 2 local lenInByte = #str local width = 0 local readByte = 1 for i=1,lenInByte do if i >= readByte then 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) readByte = readByte + byteCount if byteCount == 1 then width = width + fontSize * 0.5 print(char.."("..byteCount..")") else width = width + fontSize print(char.."("..byteCount..")") end endend
优化含中文字符串占位计算
最新推荐文章于 2021-01-30 14:30:10 发布