汉字转拼音

作者: 042dc8cf1ca6 | 来源:发表于2016-06-08 16:39 被阅读0次

这里是一篇转载的文章:

转载请表明出处:http://blog.csdn.net/lmj623565791/article/details/23187701

开发过程中有时候会遇到使用拼音模糊搜索等功能(典型的就是Android通讯录了),这时就需要汉字能够转化为拼音。

1、Android系统的通讯录也实现了拼音搜索,所以我们可以偷个懒,直接拿Android系统中的实现类来实现这个功能。

sdk\sources\android-2.3.3-gingerbread-src\com\android\internal\util\HanziToPinyin.Java

该类我们无法直接获取实例或者反射访问,不过我们可以直接把源码拷入自己的项目中,然后使用。

概览:

简单看一下,就提供了一个get(Sting)方法供使用。

使用方式:

[java]view plaincopy

publicvoidtestHanziToPinyin()

{

ArrayList list = HanziToPinyin.getInstance().get(

"单赵 钱 孙 李 周 吴 郑 王冯 陈 褚 卫 蒋 沈 韩 杨 朱");

for(Token token : list)

{

System.out.print(token.source +" , "+ token.target +" , "+ token.type);

System.out.println();

}

}

输出结果:

简单解释一下:HanziToPinyin是一个单例,获得该类实例后,get方法传入一个字符串,然后会对每个字符串的每个字符进行解析,解析结果存入Token中,

token.source=源 ;token.target=结果,token.type=2(也就是  public static final int PINYIN = 2; 封装的常量)

2、使用Pinyin4j

首先去http://pinyin4j.sourceforge.net/   下载一个jar包。

主要的几个类:

PinyinHelper 调用方法的核心类

HanyuPinyinOutputFormat 输出格式,设置HanyuPinyinCaseType(大小写),HanyuPinyinToneType(声调的方式),HanyuPinyinVCharType(V的输出方式)

使用方式:

[java]view plaincopy

String str ="单赵钱孙李周吴郑王冯陈褚卫abc";

HanyuPinyinOutputFormat format =newHanyuPinyinOutputFormat();

format.setCaseType(HanyuPinyinCaseType.UPPERCASE);

format.setToneType(HanyuPinyinToneType.WITH_TONE_NUMBER);

for(inti =0; i < str.length() ; i++)

{

charc = str.charAt(i);

String[] vals = PinyinHelper.toHanyuPinyinStringArray(c, format);

System.out.print(Arrays.toString(vals));

}

输出结果:对于非汉字输出的是返回null

另外附加pinyin4j架包:

http://7xv706.com1.z0.glb.clouddn.com/%E8%BD%AC%E8%87%AA%E8%BD%AC%E6%8B%BC%E9%9F%B3.zip

 

相关文章

  • Python 拼音汉字互转

    汉字转拼音:pypinyin拼音转汉字:Pinyin2Hanzi Python汉字转拼音-拼音转汉字的效率测评

  • python汉字转拼音

    场景说明 把中文汉字、转成汉语拼音,包括: 纯汉字转拼音 汉字里面加有字母转拼音 转加声调的拼音 转用数字表示声调...

  • 发布 | 汉字转拼音工具

    通过查找汉字拼音库实现实时汉字转拼音的功能。 实现 加载汉字拼音对照文件pinyin.txt(4万+汉字拼音对照)...

  • 发布 | 汉字转拼音工具

    通过查找汉字拼音库实现实时汉字转拼音的功能。 实现 加载汉字拼音对照文件pinyin.txt(4万+汉字拼音对照)...

  • 汉字转拼音

    汉字转拼音有很多种方法, 在这里推荐一个在线的免费转拼音的网站。 点击访问??汉字转拼音??

  • 汉字转拼音

    几种方法 一种是建立一个拼音对应的汉字map,进行查表。一种是利用汉字编码,根据不同的区域求出拼音。 第一种的原...

  • 汉字转拼音

    不过要注意的是,有一些汉字为多音字,可能不太符合需求 具体的请参考这篇文章

  • 汉字转拼音

    CFStringTransform iOS在CoreFoundation中提供了CFStringTransform...

  • 汉字转拼音

    // 这里要注意 需要把要转换的字符串,变成可变的字符串哦!

  • 汉字转拼音

    //获取拼音首字母(传入汉字字符串, 返回大写拼音首字母)

网友评论

    本文标题:汉字转拼音

    本文链接:https://www.haomeiwen.com/subject/oxujdttx.html