国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > 綜合 > 正文

Lua判斷字符串中包含中文字符的方法和計(jì)算字符串寬度函數(shù)分享

2024-07-21 23:04:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、判斷字符串中包含中文字符的方法

遍歷數(shù)組,對(duì)每個(gè)字節(jié)使用string.byte(),發(fā)現(xiàn)有大于127的,就是漢字,可以參照下面的代碼。

二、計(jì)算字符串寬度函數(shù)

復(fù)制代碼 代碼如下:

-- 計(jì)算字符串寬度
 
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)

 

 
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 靖州| 封丘县| 蓝田县| 迁安市| 探索| 特克斯县| 驻马店市| 府谷县| 扶风县| 珲春市| 河北区| 海门市| 珠海市| 米泉市| 大宁县| 金乡县| 福泉市| 安多县| 绥滨县| 望奎县| 民丰县| 剑河县| 扎兰屯市| 宜春市| 山东| 凤山县| 三门县| 长治县| 威海市| 桐柏县| 澄城县| 邢台市| 金坛市| 明水县| 沙湾县| 泸溪县| 苗栗县| 四平市| 登封市| 乌兰县| 利川市|