java获取汉字拼音首字母 为什么有些国内程序员把Java读成「家蛙」?
为什么有些国内程序员把Java读成「家蛙」?
为什么有些人别人怎么读他都叨叨,管的是不是太宽了?
印象中有个同事,特别爱抬杠挑刺,别人说itouch,他说苹果没有itouch,只有ipod touch。
如何用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获取汉字拼音首字母 java获取中文首字母 java获取时间戳
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。