`
Dxx23
  • 浏览: 142745 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java中文转拼音

 
阅读更多
package com.zjasm.util;

import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

/**
 * Created with IntelliJ IDEA.
 * Date: 13-7-12
 * Time: 下午3:52
 * To change this template use File | Settings | File Templates.
 */
public class CnToSpell {

    public  String getPinYin(String src) {
        char[] t1 = null;
        t1 = src.toCharArray();
        String[] t2 = new String[t1.length];
        // 设置汉字拼音输出的格式
        HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
        t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
        t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
        t3.setVCharType(HanyuPinyinVCharType.WITH_V);
        String t4 = "";
        int t0 = t1.length;
        try {
            for (int i = 0; i < t0; i++) {
                // 判断是否为汉字字符
                if (Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
                    t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);// 将汉字的几种全拼都存到t2数组中
                    t4 += t2[0];// 取出该汉字全拼的第一种读音并连接到字符串t4后
                } else {
                    // 如果不是汉字字符,直接取出字符并连接到字符串t4后
                    t4 += Character.toString(t1[i]);
                }
            }
        } catch (BadHanyuPinyinOutputFormatCombination e) {
            e.printStackTrace();
        }
        if(t4.indexOf("【")!=-1){
            t4 = t4.replace("【","[");
        }
        if(t4.indexOf("】")!=-1){
            t4 = t4.replace("】","]");
        }
        if(t4.indexOf("(")!=-1){
            t4 = t4.replace("(","(");
        }
        if(t4.indexOf(")")!=-1){
            t4 = t4.replace(")",")");
        }
        return t4;
    }


    public  String getPinYinHeadChar(String str) {
        String convert = "";
        for (int j = 0; j < str.length(); j++) {
            char word = str.charAt(j);
            // 提取汉字的首字母
            String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
            if (pinyinArray != null) {
                convert += pinyinArray[0].charAt(0);
            } else {
                convert += word;
            }
        }
        return convert;
    }


    public  String getCnASCII(String cnStr) {
        StringBuffer strBuf = new StringBuffer();
        // 将字符串转换成字节序列
        byte[] bGBK = cnStr.getBytes();
        for (int i = 0; i < bGBK.length; i++) {
            strBuf.append(Integer.toHexString(bGBK[i] & 0xff));
        }
        return strBuf.toString();
    }

    public static void main(String[] args) {
        CnToSpell cnToSpell = new CnToSpell();
        String cnStr = "中华人民共和国(A-C)(12)_12345";
        System.out.println(cnToSpell.getPinYin(cnStr));
        System.out.println(cnToSpell.getPinYinHeadChar(cnStr));
        System.out.println(cnToSpell.getCnASCII(cnStr));
    }
}

分享到:
评论

相关推荐

    Java汉字转拼音(支持多音字)

    这个"Java汉字转拼音(支持多音字)"的主题涉及了如何在Java环境中实现这一功能,特别是考虑到中文的多音字特性。 多音字是指一个汉字有多个读音,其读音取决于它在特定语境中的含义。例如,“打”字可以读作“dǎ...

    java 汉字转换拼音

    根据提供的文件信息,本文将详细解析“Java汉字转换拼音”的实现方法及原理,并结合实际代码进行分析。 ### 一、项目概述 #### 标题:Java汉字转换拼音 该标题明确指出项目的主要功能是利用Java语言实现汉字到拼音...

    java汉字转拼音源码

    java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java...

    java汉字转拼音(全拼和首字母)

    在Java编程语言中,汉字转拼音是一项常见的需求,特别是在处理中文数据、搜索引擎优化或文本处理等领域。本篇文章将深入探讨如何使用Java实现汉字转拼音的功能,包括获取汉字的全拼和首字母。 首先,我们需要理解...

    java汉字转拼音,android汉字转拼音,汉字转拼音首字母,汉字转ASCII

    对于汉字转拼音首字母,可以稍微简化上述过程,只取每个汉字拼音的第一个字母。在Java和Android中,这通常通过遍历`Pinyin4j`返回的拼音数组并提取首字母来实现。 接下来,我们讨论汉字转ASCII。由于汉字不是ASCII...

    JAVA 汉字转换拼音

    总的来说,Java中的汉字转拼音通过pinyin4j库变得非常简单,只需要正确引入库并编写一些辅助方法,就可以轻松地在程序中实现汉字与拼音之间的转换。这在处理中文数据时非常有用,能够帮助开发出更加适应中国用户的...

    java汉字转拼音

    在Java编程语言中,汉字转拼音是一项常见的需求,特别是在处理中文数据、搜索引擎优化或文本处理等领域。这个场景中提到的“java汉字转拼音”是指利用Java实现将汉字转换为对应的拼音表示,通常包括全拼(每个汉字...

    java 中文转换拼音

    在Java编程语言中,中文字符转换为拼音是一个常见的需求,特别是在处理中文文本的搜索、语音合成或者数据分析等场景。这个给定的压缩包文件“languageConvert”可能包含了一个实现此功能的Java程序,使得开发者能够...

    Java汉字转换拼音

    在Java编程语言中,汉字转换成拼音是一项常见的需求,特别是在处理中文文本时,例如搜索引擎的关键词提取、语音合成等场景。Java提供了多种方法来实现这一功能,这些方法主要基于开源库或者Java内置的API。 首先,...

    汉字转换拼音 java

    标题"汉字转换拼音 Java"指的是在Java环境中开发一个程序或库,其功能是将汉字转换为它们对应的汉语拼音。这在多种场景下都非常实用,比如搜索引擎优化、语音合成、关键词提取等。Java中实现这一功能的关键在于找到...

    java 中文转拼音

    java 中文转拼音 相当给力 识别多音字,2万个汉字

    java 汉字转拼音

    java 汉字转拼音

    java汉字转拼音代码+多音字词汇表

    在Java编程语言中,将汉字转换为拼音是一项常见的任务,特别是在处理中文文本、搜索优化或者构建用户友好的接口时。这个“java汉字转拼音代码+多音字词汇表”资源提供了一个工具类,用于高效地完成这个任务。下面将...

    java汉字转拼音字母项目例子_可直接运行

    Java汉字转拼音字母项目是一个实用的工具,它允许开发者将汉字转换为对应的拼音表示,这对于中文处理、搜索引擎优化(SEO)以及语音合成等场景非常有帮助。本项目提供了可以直接运行的示例,使得用户能够快速理解和...

    Java中文转拼音--整理

    Java中文转拼音技术是将汉字转化为其对应的汉语拼音的一种编程实现。在Java中,我们可以利用特定的库或者API来完成这个任务,这对于处理中文语音识别、搜索引擎优化、文本分析等多种场景都有重要作用。以下是对这个...

    Java汉字转拼音

    本文详细介绍了如何使用`pinyin4j`库实现Java中汉字到拼音的转换,并提供了两个实用的方法:一个用于获取每个汉字拼音的首字母,另一个用于获取整个字符串的拼音。这些方法可以帮助开发者快速解决相关问题,提高程序...

    java汉字转拼音工具类

    汉字转拼音,或拼音缩写,pinyin4j。maven,非maven项目如需jar包私聊我

    java汉字转拼音配置文件及jar.zip

    Java汉字转拼音技术是计算机处理中文文本时常用的一种方法,特别是在搜索引擎优化、语音识别、文本分析等领域有着...在实际开发中,结合具体的业务需求,我们可以灵活运用这些工具,解决各种与汉字拼音转换相关的问题。

    Java汉字转拼音 jar包 + demo

    Java汉字转拼音是一个常见的需求,特别是在处理中文数据时,例如搜索、关键词提取或者语音合成等场景。`pinyin4j`是一个Java库,专门用于将汉字转换为拼音,它提供了简单易用的API来实现这一功能。这个jar包以及相关...

Global site tag (gtag.js) - Google Analytics