Android 汉字转换拼音之JPinyin

 

一、简介

项目地址:https://github.com/stuxuhai/jpinyin

JPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进。

【JPinyin主要特性】
1、准确、完善的字库;
Unicode编码从4E00-9FA5范围及3007(〇)的20903个汉字中,JPinyin能转换除46个异体字(异体字不存在标准拼音)之外的所有汉字;
2、拼音转换速度快;
经测试,转换Unicode编码从4E00-9FA5范围的20902个汉字,JPinyin耗时约100毫秒。
3、多拼音格式输出支持;
JPinyin支持多种拼音输出格式:带音标、不带音标、数字表示音标以及拼音首字母输出格式;
4、常见多音字识别;
JPinyin支持常见多音字的识别,其中包括词组、成语、地名等;
5、简繁体中文转换

 

Jpinyin里面一共有四个类:

  • ChineseHelper.java     汉字简繁体转换类
  • PinyinFormat.java         拼音格式类
  • PinyinHelper.java          汉字转拼音类
  • PinyinResource.java    资源文件加载类

 

二、主要方法介绍

2.1 convertToPinyinString(String str, String separator)

复制代码
/**
 * 将字符串转换成相应格式的拼音
 * @param str 需要转换的字符串
 * @param separator 拼音分隔符
 * @return 字符串的拼音
 */
public static String convertToPinyinString(String str, String separator, PinyinFormat pinyinFormat)
复制代码

结果:

      String words = "和气生财";final String separator = " ";

        // hé qì shēng cái (默认格式)
        PinyinHelper.convertToPinyinString(words, separator);

 

2.2 convertToPinyinString(String str, String separator, PinyinFormat pinyinFormat)

复制代码
/**
 * 将字符串转换成相应格式的拼音
 * @param str 需要转换的字符串
 * @param separator 拼音分隔符
 * @param pinyinFormat 拼音格式:WITH_TONE_NUMBER--数字代表声调,WITHOUT_TONE--不带声调,WITH_TONE_MARK--带声调
 * @return 字符串的拼音
 */
public static String convertToPinyinString(String str, String separator, PinyinFormat pinyinFormat)
复制代码

结果:

复制代码
   String str = "你好世界";
PinyinHelper.convertToPinyinString(str,
",", PinyinFormat.WITH_TONE_MARK); // nǐ,hǎo,shì,jiè PinyinHelper.convertToPinyinString(str, ",", PinyinFormat.WITH_TONE_NUMBER); // ni3,hao3,shi4,jie4 PinyinHelper.convertToPinyinString(str, ",", PinyinFormat.WITHOUT_TONE); // ni,hao,shi,jie
复制代码

 

2.3 getShortPinyin(String str)

复制代码
/**
 * 获取字符串对应拼音的首字母
 * @param str 需要转换的字符串
 * @return 对应拼音的首字母
 */
public static String getShortPinyin(String str)
复制代码

结果:

    String str = "你好世界";

    PinyinHelper.getShortPinyin(str); // nhsj

 

2.4 convertToPinyinArray(char c)
复制代码
/**
 * 将单个汉字转换为相应格式的拼音
 * @param c 需要转换成拼音的汉字
 * @return 汉字的拼音
 */
public static String[] convertToPinyinArray(char c)
复制代码

结果:

 
 
String words = "和气生财";

//
hé hè huó huò hú pinyins = PinyinHelper.convertToPinyinArray(words.toCharArray()[0]);

 

2.5 convertToPinyinArray(char c, PinyinFormat pinyinFormat)

复制代码
/**
 * 将单个汉字转换为相应格式的拼音
 * @param c 需要转换成拼音的汉字
 * @param pinyinFormat 拼音格式:WITH_TONE_NUMBER--数字代表声调,WITHOUT_TONE--不带声调,WITH_TONE_MARK--带声调
 * @return 汉字的拼音
 */
public static String[] convertToPinyinArray(char c, PinyinFormat pinyinFormat)
复制代码

结果:

String words = "和气生财";

//
hé hè huó huò hú pinyins = PinyinHelper.convertToPinyinArray(words.toCharArray()[0], PinyinFormat.WITH_TONE_MARK);

 

2.6 hasMultiPinyin(char c)

复制代码
/**
 * 判断一个汉字是否为多音字
 * @param c 汉字
 * @return 判断结果,如果是返回true,否则返回false
 */
public static boolean hasMultiPinyin(char c)
复制代码

结果:

 // false
  println(PinyinHelper.hasMultiPinyin('李'));

 

 

源码下载:

 

大部分内容参考自:http://blog.csdn.net/ekeuy/article/details/40079475?utm_source=tuicool

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值