java获取汉字拼音
2016-11-28 11:32
281 查看
前段时间做的中文验证码识别,里面有个需要给出某个汉字的拼音,这方法主要也是通过查表给出。
下图是表中的一部分截图,其中前面是汉字的unicode十六进制编码,后面即为拼音(多音字有多个拼音对应),所以原理很简单,查找表中匹配的编码即可。这是资源链接http://download.csdn.net/detail/baidu_18987603/9695456
源码如下
下图是表中的一部分截图,其中前面是汉字的unicode十六进制编码,后面即为拼音(多音字有多个拼音对应),所以原理很简单,查找表中匹配的编码即可。这是资源链接http://download.csdn.net/detail/baidu_18987603/9695456
源码如下
public String getPinYin(char word){ String pinyin = null; byte[] bytes = (String.valueOf(word)).getBytes(); if (bytes == null || bytes.length > 2 || bytes.length <= 0) { // 错误引用,非合法字符 return null; } if (bytes.length == 1) { // 英文字符 return null; } if (bytes.length == 2) { //中文字符 //得到字符的unicode十六进制编码,并转为大写 String wordCode = Integer.toHexString(String.valueOf(word).codePointAt(0)).toUpperCase();; String pattern = "^"+wordCode+"\\s*([A-Z]+)"; //多音字只匹配第一个拼音 // 创建 Pattern 对象 Pattern r = Pattern.compile(pattern); File file=new File("Mandarin.dat"); //此中的mandarin.dat即为查表文件 BufferedReader br; try { br = new BufferedReader(new FileReader(file)); String temp=null; while((temp=br.readLine())!=null) { Matcher m = r.matcher(temp); if (m.find( )) { pinyin = m.group(1); } } br.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } return pinyin; }
相关文章推荐
- java获取汉字拼音首字母
- java 获取汉字拼音的首字母
- java字符操作获取汉字的拼音以及其他常用工具
- java字符操作获取汉字的拼音以及其它经常使用工具
- java获取汉字拼音首字母
- Java中获取GBK编码汉字的拼音字头方法。
- JAVA获取中文汉字的拼音首字母
- Java获取汉字拼音的全拼和首拼实现代码分享
- java获取汉字拼音首字母
- adnroid java 获取汉字 字母的首拼音,全拼音,大写首拼音
- java 获取汉字拼音的首字母 .
- java 获取汉字拼音和首字母
- java 汉字字典,获取汉字拼音,拼音首字母,五笔,笔画,笔画顺序
- java 获取汉字串拼音首字母,英文字符不变 工具类
- 用Java显示获取每个汉字的拼音首字母
- java 获取汉字拼音的首字母 .
- java 获取汉字拼音的首字母
- java获取汉字拼音首字母
- java根据汉字获取拼音的方法
- java获取汉字拼音首字母