如何判斷乙個位元組是否是乙個漢字中的一部分

2022-03-08 16:41:13 字數 577 閱讀 5324

unicode是萬能編碼,包含了所有符號的編碼,它規定了所有符號在計算機底層的二進位制的表示順序。

在utf-8編碼中乙個中文佔三個位元組

比如 漢字 "張" 對應的三位元組編碼是[229 188 160]

但是如何判斷,229 188 160 是組合的呢,這裡涉及到一套規則

utf規定:

如果乙個符號只佔乙個位元組,那麼這個8位位元組的第一位就為0。

如果為兩個位元組,那麼規定第乙個位元組的前兩位都為1,然後第乙個位元組的第三位為0,第二個位元組的前兩位為10

然後如果是三個位元組的話,那麼第乙個位元組的前三位為111,第四位為0,剩餘的兩個位元組的前兩位都為10。

所以乙個位元組最大是 011111111 轉換成十進位制是 127 如果大於127則認為不止乙個位元組

兩個位元組最大數是 11011111 10111111  轉成成十進位制分別是223 和 191

兩個位元組最大數是 11101111  10111111 10111111    轉成成十進位制分別是239 和 191 和 191

這裡設n為位元組

n<128 則為1個位元組

128223這樣可以輕鬆判斷出來是否是一組

C 之 判斷乙個字元是否是漢字

判斷乙個字元是不是漢字通常有三種方法 1 用 ascii 碼判斷 2 用漢字的 unicode 編碼範圍判斷 3 用正規表示式判斷。1 用ascii碼判斷 在 ascii碼表中,英文的範圍是0 127,而漢字則是大於127,具體 如下 string text 漢字,abc for int i 0 i...

C 之 判斷乙個字元是否是漢字

判斷乙個字元是不是漢字通常有三種方法 1 用 ascii 碼判斷 2 用漢字的 unicode 編碼範圍判斷 3 用正規表示式判斷。1 用ascii碼判斷 在 ascii碼表中,英文的範圍是0 127,而漢字則是大於127,具體 如下 string text 漢字,abc for int i 0 i...

C 中如何判斷乙個字元是漢字

判斷乙個字元是不是漢字通常有三種方法,第一種用 ascii 碼判斷,第二種用漢字的 unicode 編碼範圍判 斷,第三種用正規表示式判斷,以下是具體方法。1 用ascii碼判斷 在 ascii碼表中,英文的範圍是0 127,而漢字則是大於127,具體 如下 csharp view plain co...