如何判斷乙個Unicode表示的字元為乙個中文字

2021-07-11 21:33:29 字數 542 閱讀 1404

中文字在unicode裡用2位元組表示的時候,編碼(例如,utf-16be)是從4e00-9fbb

如果用char表示,第乙個中文字是char c = 19968 (4e00)最後乙個中文字,char c = 40891 (9fbb)

如果你是有char陣列,直接比較就行了。小於19968大於40891都不是中文 *字*。中文的標點符號,在另外的編碼段,具體可以去查www.unicode.org。不過我一般還是使用byte[2]來操作乙個中文字,轉string也比較方便。

用byte進行轉換可以如下面:

byte b = new string("一").getbytes("utf-16be");

int k = b[0] & 0xff;

int x = b[1] & 0xff;

int sum = k * 256 + x;

sum = 19968

byte型別經過一次& 0xff以後將直接轉換成為int型別。

//判斷是否中文字

public boolean checkchinese(char word)

如何判斷乙個執行緒的存活

pthread kill 別被名字嚇到,pthread kill可不是kill,而是向執行緒傳送signal。還記得signal嗎,大部分signal的預設動作是終止程序的執行,所以,我們才要用signal 去抓訊號並加上處理函式。int pthread kill pthread t thread,...

如何判斷乙個點在矩形內

最近在做遊戲伺服器中技能模組,往往要掃瞄乙個區域,判斷npc是不是在我這個區域內,在的話就發傷害。就需要實現一下,對於乙個點是否在矩形內的判斷。只需要判斷該點是否在上下兩條邊和左右兩條邊之間就行,判斷乙個點是否在兩條線段之間夾著,就轉化成,判斷乙個點是否在某條線段的一邊上,就可以利用叉乘的方向性,來...

如何判斷乙個物件已經無效

引用計數法 給物件中新增乙個引用計數器,每當有乙個地方引用它,計數器就加 1 當引用失效,計數器就減 1 任何時候計數器為 0 的物件就是不可能再被使用的。這個方法實現簡單,效率高,但是目前主流的虛擬機器中並沒有選擇這個演算法來管理記憶體,其最主要的原因是它很難解決物件之間相互迴圈引用的問題。可達性...