lua utf 8編碼的漢字

2021-06-05 08:53:50 字數 544 閱讀 6493

lua 的string庫不支援處理utf-8編碼的漢字。用lua要處理漢字還是很費勁的。

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)只會出現在第二個及隨後的編碼中(針對多位元組編碼,如漢字) 

這樣我們可以利用lua強大的模式匹配,來實現我們要的效果,關鍵的處理有這麼兩個: 

1. local _, count = string.gsub(str, "[^\128-\193]", ""),用來得到str中的字元數 

2. for uchar in string.gfind(str, "[%z\1-\127\194-\244][\128-\191]*") do tab[#tab+1] = uchar end,用來把str中的每個字元對映到tab中

lua utf 8編碼的漢字

lua 的string庫不支援處理utf 8編碼的漢字。用lua要處理漢字還是很費勁的。utf8的編碼規則 1.字元的第乙個位元組範圍 0x00 0x7f 0 127 或者 0xc2 0xf4 194 244 utf8 是相容 ascii 的,所以 0 127 就和 ascii 完全一致 2.0xc...

Lua UTF 8 全形轉半形

根據utf 8的編碼規則,可以知道 1.全形空格為12288,半形空格為32 2.其他字元半形 33 126 與全形 65281 65374 的對應關係是 均相差65248 但是utf 8不能位元組轉換位整型變數,因此需要乙個函式,做乙個轉換 function utf8 to num raw str...

iOS 漢字轉UTF 8編碼

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