java獲取漢字拼音首字母 為什么有些國內(nèi)程序員把Java讀成「家蛙」?
為什么有些國內(nèi)程序員把Java讀成「家蛙」?為什么有些人別人怎么讀他都叨叨,管的是不是太寬了?印象中有個同事,特別愛抬杠挑刺,別人說itouch,他說蘋果沒有itouch,只有ipod touch。如
為什么有些國內(nèi)程序員把Java讀成「家蛙」?
為什么有些人別人怎么讀他都叨叨,管的是不是太寬了?
印象中有個同事,特別愛抬杠挑刺,別人說itouch,他說蘋果沒有itouch,只有ipod touch。
如何用java、javascript和python獲取中文的拼音首字母?
這個問題還挺不好回答的。因為不知道題主的意圖,也不清楚是否要考慮多音字的問題??赡苁俏蚁攵嗔耍谶@里我就給一個利用GB2312編碼表查詢拼音首字母的方案。
GB2312編碼
GB2312編碼共收錄漢字6763個,其中一級漢字3755個,二級漢字3008個,另外還有682個全角字符。其中,一級漢字是按照拼音字母的順序排列的??芍苯佑镁幋a查詢拼音首字母。不過,二級漢字是按照偏旁部首排列的,沒法查,這部分漢字只能自己做一份對照表了。
一級漢字查詢
根據(jù)GB2312編碼規(guī)則,可按下表查詢。
- 1601-1636 a
- 1637-1832 b
- 1833-2077 c
- 2078-2274 d
- ……(略)
百度一下可以找到完整的編碼表。
二級漢字
這三千多個字只能自己做表了。我有一個暗黑的方法,就是找到拼音輸入法的數(shù)據(jù)表,整理一下拿來用。這個方法有可能涉及到版權(quán)問題,我就不細(xì)說了。
Javascript的限制
Javascript是在瀏覽器上執(zhí)行的,攜帶一份巨大的對照表可能嚴(yán)重影響網(wǎng)頁的下載速度。建議只對應(yīng)一級漢字。另外,JS沒有編碼轉(zhuǎn)換函數(shù),應(yīng)盡量避免編碼轉(zhuǎn)換,實在不能避免的話,只能自己寫轉(zhuǎn)換函數(shù)了。網(wǎng)上雖有不少例子,都不是很可靠。要有個別編碼存在轉(zhuǎn)換錯誤的覺悟。
算法的考慮
如果攜帶二級漢字對照表,則需要考慮提高查詢速度。二叉樹算法是個不錯的選擇。