java 獲取漢字拼音的首字母

2021-06-06 22:50:12 字數 1126 閱讀 1532

在專案中要更能根據某些查詢條件(比如姓名)的首字母作為條件進行查詢,比如查乙個叫「張三」的人,可以輸入『zs'。寫了乙個工具類如下:

/**gb 2312-80 把收錄的漢字分成兩級。第一級漢字是常用漢字,計 3755 個, 

* 置於 16~55 區,按漢語拼音字母/筆形順序排列;第二級漢字是次常用漢字, 

* 計 3008 個,置於 56~87 區,按部首/筆畫順序排列,所以本程式只能查到

* 對一級漢字的聲母。同時對符合聲母(zh,ch,sh)只能取首字母(z,c,s)

*/

public class stringutil ;  

//存放國標一級漢字不同讀音的起始區位碼對應讀音

static final char firstletter = ;

//獲取乙個字串的拼音碼

public static string getfirstletter(string oristr) ;

byte unicode = new string(temp).getbytes();

if (unicode[0] < 128 && unicode[0] > 0) else

} return buffer.tostring();

} /** 獲取乙個漢字的拼音首字母。

* gb碼兩個位元組分別減去160,轉換成10進製碼組合就可以得到區位碼

* 例如漢字「你」的gb碼是0xc4/0xe3,分別減去0xa0(160)就是0x24/0x43

* 0x24轉成10進製就是36,0x43是67,那麼它的區位碼就是3667,在對照表中讀音為『n』

*/

static char convert(byte bytes)

secposvalue = bytes[0] * 100 + bytes[1];

for (i = 0; i < 23; i++)

} return result;

} public static void main(string args)

}

執行輸出:

i love u

wabjtam

i love bjtam 

java獲取漢字拼音首字母

在專案中要更能根據某些查詢條件 比如姓名 的首字母作為條件進行查詢,比如查乙個叫 李曉明 的人,可以輸入 lxm 寫了乙個工具類如下 取得給定漢字串的首字母串,即聲母串 title chinesechartoen date 2004 02 19 注 只支援gb2312字符集中的漢字 public f...

java 獲取漢字拼音的首字母

在專案中要更能根據某些查詢條件 比如姓名 的首字母作為條件進行查詢,比如查乙個叫 張三 的人,可以輸入 zs 寫了乙個工具類如下 gb 2312 80 把收錄的漢字分成兩級。第一級漢字是常用漢字,計 3755 個,置於 16 55 區,按漢語拼音字母 筆形順序排列 第二級漢字是次常用漢字,計 300...

獲取漢字拼音首字母

有個專案需要用到生成漢字的首字母,但從網上查了一下,對於多音字的處理都不是很好,所以就利用pinyin4j這個工具包自己寫了乙個。用到的jar包是pinyin4j 2.5.0.jar 獲取拼音首字母,多音字用逗號隔開 public static string getfirstspell string...