根據GB2312漢字區位碼獲取漢字拼音的工具類

2021-08-29 15:10:48 字數 606 閱讀 3596

[size=x-large]申明:

本工具類的原型來自網際網路,本人作了演算法上的調整。所以嚴格上不算原創,只能算是編著。

主要思路:

根據gb2312漢字的區位碼,建立區位碼與拼音的對應關係,因為一定範圍內的漢字區位碼的拼音是一樣的,例如,如果漢字的區位碼在(20317,20319]範圍內,那麼其拼音為「a」。

所以本工具類首先建立連個陣列,乙個邊界放區位碼,何謂邊界區位碼,如20317與20318兩個區位碼相連續,但是其對應的拼音乙個是「ai」,乙個是「a」,不連續,那麼20317就是邊界區位碼;乙個陣列存放邊界區位碼對應的拼音,利用邊界區位碼作為陣列的索引,對應的拼音為值。

對於給定的漢字,首先計算器區位碼,而後根據取上不取下的原則找到其拼音對應的邊界區位碼,如乙個漢字的區位碼是20318,那麼20318兩端的邊界區位碼乙個是20317,乙個是20319,根據取上不取下原則,獲得20318對應的區位碼拼音的邊界區位碼20319,根據20319獲得20318的拼音為「a」。

缺點:字符集不大,僅限於gb312;多音字只對應乙個音,如「銀行」,「行走」中的「行」字的拼音是一樣的,所以如果外部輸入都是漢字,由本工具轉換為拼音去查同音,沒有問題,如果外部輸入拼音,就有問題。

[/size]

根據漢字獲得其區位碼

學生在填寫高考資訊表時,通常都需要將自己名字所對應的區位碼填寫到高考資訊表的對應方格中,那麼如何獲取漢字的區位碼呢?下面通過乙個例項進行講解。例 建立乙個控制台應用程式,使用while語句定義乙個死迴圈,以便能夠迴圈輸入資訊 在該迴圈中,首先輸入漢字,然後根據輸入的漢字獲取其區位碼並輸出到控制台中。...

從漢字到區位碼的轉換

學校要我們填寫畢業生的情況表,機讀卡那種,姓名要用區位碼.我想如果用程式來查詢的話,就是資料庫查詢,我想編乙個應該很簡單的,就上網看看有沒有類似的程式,然後我再用它的資料庫自己實現乙個,可讓我查到了乙個文章講如何實現從漢字到區位碼的轉換,呵呵,可以不用資料庫了.區位碼是與漢字一一對應的編碼,用四位數...

漢字的內碼和區位碼與顯示漢字原理

漢字的內碼和區位碼 在計算機中英文本元是用乙個位元組的ascii碼表示,該位元組最高位一般置0或用做奇偶校驗,故實際是用7位碼來代表128個字元的,但對於眾多的漢字,只有用兩個位元組才能代表,這樣用兩個位元組代表乙個漢字的 體制,國家制定了統一標準,稱為國標碼。國標碼規定,組成兩位元組 的最高位為0...