回覆列表
  • 1 # 日衝資訊 黃

    這個問題還挺不好回答的。因為不知道題主的意圖,也不清楚是否要考慮多音字的問題。可能是我想多了,在這裡我就給一個利用GB2312編碼表查詢拼音首字母的方案。

    GB2312編碼

    GB2312編碼共收錄漢字6763個,其中一級漢字3755個,二級漢字3008個,另外還有682個全形字元。其中,一級漢字是按照拼音字母的順序排列的。可直接用編碼查詢拼音首字母。不過,二級漢字是按照偏旁部首排列的,沒法查,這部分漢字只能自己做一份對照表了。

    一級漢字查詢

    根據GB2312編碼規則,可按下表查詢。

    1601-1636 a1637-1832 b1833-2077 c2078-2274 d……(略)

    百度一下可以找到完整的編碼表。

    二級漢字

    Javascript的限制

    Javascript是在瀏覽器上執行的,攜帶一份巨大的對照表可能嚴重影響網頁的下載速度。建議只對應一級漢字。另外,JS沒有編碼轉換函式,應儘量避免編碼轉換,實在不能避免的話,只能自己寫轉換函數了。網上雖有不少例子,都不是很可靠。要有個別編碼存在轉換錯誤的覺悟。

    演算法的考慮

    如果攜帶二級漢字對照表,則需要考慮提高查詢速度。二叉樹演算法是個不錯的選擇。

  • 中秋節和大豐收的關聯?
  • 《康熙王朝》是陳道明的演技巔峰嗎?