lua用UTF 8處理漢字

2021-07-06 02:23:59 字數 831 閱讀 4956

lua用utf-8處理漢字

utf8的編碼規則:

1. 字元的第乙個位元組範圍: 0x00—0x7f(0-127),或者 0xc2—0xf4(194-244); utf8 是相容 ascii 的,所以 0~127 就和 ascii 完全一致

2. 0xc0, 0xc1,0xf5—0xff(192, 193 和 245-255)不會出現在utf8編碼中

3. 0x80—0xbf(128-191)只會出現在第二個及隨後的編碼中(針對多位元組編碼,如漢字)

-- 檢測漢字和英文本元,如果有其他特殊字元或數字,則返回false

function

global:checkchinese(_text)

local ret = {}

local f = '[\65-\90\97-\122\194-\244][\128-\191]*'

local

_len = 0

for v in

_text:gfind(f) do

print(v, #v)

if#v == 1 and v ~= nil then

_len = _len + #v

elseif #v == 3 and v~= nil then

_len = _len + #v

end end

if_len ~= string.len(_text) then

return

false

end return

true

end

lua匹配UTF 8中文漢字

lua5.3雖然支援utf 8,但是自帶的string庫不支援漢字的處理,而且lua的正則實現也比較雞肋,很難匹配中文。所以文章討論utf 8字符集,中文漢字的表示方法,然後說明lua如何匹配utf 8中文漢字。初識utf 8 utf 8是unicode的一種實現,是一種變長位元組編碼方式。對於某乙...

utf 8的中文漢字

從字元編碼講起。1 美國人首先對其英文本元進行了編碼,也就是最早的ascii碼,用乙個位元組的低7位來表示英文的128個字元,高1位統一為0 2 後來歐洲人發現尼瑪你這128位哪夠用,比如我高貴的法國人字母上面的還有注音符,這個怎麼區分,得,把高1位編進來吧,這樣歐洲普遍使用乙個全位元組進行編碼,最...

iOS 漢字轉UTF 8編碼

1.編碼 ios中http請求遇到漢字的時候,需要轉化成utf 8,用到的方法是 nsstring encodingstring urlstring stringbyaddingpercentescapesusingencoding nsutf8stringencoding 2.解碼 請求後,返回的...