这个问题还挺不好回答的 。因为不知道题主的意图 。也不清楚是否要考虑多音字的问题 。可能是我想多了 。在这里我就给一个利用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获取中文的拼音首字母?】如果携带二级汉字对照表 。则需要考虑提高查询速度 。二叉树算法是个不错的选择 。
推荐阅读
- 佳能a540说明书佳能a540像素
- 孟加拉国概况中英,孟加拉国资料
- 联想720s 联想7206加粉清零
- 空调睡眠模式一晚几度电
- 朗朗的国籍是哪个国家 郎朗老婆吉娜是哪个国家
- 2012热火vs雷霆g5录像 热火vs雷霆总决赛录像
- 维纳斯巴勒莫图片,维纳斯巴勒莫
- 诺基亚4410手机 4410影院手机版被窝
- 《三傻大闹宝莱坞》一部被名字耽误的电影,为啥豆瓣评分能得9.1?