過濾非漢字的utf8的字元

2022-03-20 19:01:21 字數 975 閱讀 1203

原文:

utf8是變長字符集,單個字元占用1~4個位元組。mysql在選擇utf8字符集時,最多只能儲存3個位元組的 utf8字元,如果想要儲存任意的utf8字元,資料必須用utf8mb4字符集,有些情況下,不能變更已選定的字符集,只好不得以而為之,把輸入中的4 個位元組的utf8字元全部過濾掉,好在,utf8字符集中,漢字是3個位元組的。

public

static string filteroffutf8mb4_2(string text) throws

unsupportedencodingexception

b += 256; //

去掉符號位

if (((b >> 5) ^ 0x06) == 0)

else

if (((b >> 4) ^ 0x0e) == 0)

else

if (((b >> 3) ^ 0x1e) == 0)

else

if (((b >> 2) ^ 0xbe) == 0)

else

}buffer.flip();

return

new string(buffer.array(), "utf-8");

}

static

public string filteroffutf8mb4(string text) throws

unsupportedencodingexception

b += 256;

if ((b ^ 0xc0) >> 4 == 0)

else

if ((b ^ 0xe0) >> 4 == 0)

else

if ((b ^ 0xf0) >> 4 == 0)

}buffer.flip();

return

new string(buffer.array(), "utf-8");

}

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.解碼 請求後,返回的...

utf8判斷字元

utf8的規則比較簡單 通過二進位制表示如下 0 x 一位的情況,為ascii 110 xx 10 110開頭,代表兩位 1110 x 10 10 1110開頭代表三位 11110 10 10 10 11110開頭代表四位 111110xx 10 10 10 10 111110開頭,代表五位 111...