如何用java、javascript和python获取中文的拼音首字母?


这个问题还挺不好回答的 。因为不知道题主的意图 。也不清楚是否要考虑多音字的问题 。可能是我想多了 。在这里我就给一个利用GB2312编码表查询拼音首字母的方案 。
GB2312编码
GB2312编码共收录汉字6763个 。其中一级汉字3755个 。二级汉字3008个 。另外还有682个全角字符 。其中 。一级汉字是按照拼音字母的顺序排列的 。可直接用编码查询拼音首字母 。不过 。二级汉字是按照偏旁部首排列的 。没法查 。这部分汉字只能自己做一份对照表了 。
一级汉字查询
根据GB2312编码规则 。可按下表查询 。
1601-1636 a
1637-1832 b
1833-2077 c
2078-2274 d
……(略)
百度一下可以找到完整的编码表 。
二级汉字
这三千多个字只能自己做表了 。我有一个暗黑的方法 。就是找到拼音输入法的数据表 。整理一下拿来用 。这个方法有可能涉及到版权问题 。我就不细说了 。
Javascript的限制
Javascript是在浏览器上执行的 。携带一份巨大的对照表可能严重影响网页的下载速度 。建议只对应一级汉字 。另外 。JS没有编码转换函数 。应尽量避免编码转换 。实在不能避免的话 。只能自己写转换函数了 。网上虽有不少例子 。都不是很可靠 。要有个别编码存在转换错误的觉悟 。
算法的考虑
【如何用java、javascript和python获取中文的拼音首字母?】如果携带二级汉字对照表 。则需要考虑提高查询速度 。二叉树算法是个不错的选择 。

    推荐阅读