主頁 > 知識庫 > Lua判斷字符串中包含中文字符的方法和計算字符串寬度函數(shù)分享

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

熱門標簽:服務外包 網(wǎng)站排名優(yōu)化 呼叫中心市場需求 百度競價排名 鐵路電話系統(tǒng) Linux服務器 AI電銷 地方門戶網(wǎng)站

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

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

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

復制代碼 代碼如下:

-- 計算字符串寬度
 
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 curByte223 then
        byteCount = 2
    elseif curByte>=224 and curByte239 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)

標簽:仙桃 崇左 湖南 銅川 蘭州 湘潭 黃山 衡水

巨人網(wǎng)絡通訊聲明:本文標題《Lua判斷字符串中包含中文字符的方法和計算字符串寬度函數(shù)分享》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266