发布 | 汉字转拼音工具

通过查找汉字拼音库实现实时汉字转拼音的功能。

实现

líng,yuán,xīng 〇
qiū ?
tiàn ?
kuà ?
wǔ ?
yǐn ?
yí ?
xié ?
chóu ?
nuò ?
dān,qiú ?
xù ?
xíng ?
xiōng ?
liú ?
lǐn ?

核心代码

class Hanzi2Pinyin
{
public:
    static QString find(const QString &hanzi)
    {
        static QMap<QString, QStringList> map = loadHanziTable(":/pinyin.txt");
        QString output;
        QStringList stringList = hanzi.split("");

        /* 遍历查找汉字-拼音对照表的内容并将汉字替换为拼音 */
        for (const QString &str : stringList) {
            if (map.contains(str))
                output += map[str].first();
            else
                output += str;
        }

        return output;
    }

private:
    /* 加载汉字对照表 */
    static QMap<QString, QStringList> loadHanziTable(const QString &fileName)
    {
        QMap<QString, QStringList> map;
        QFile file(fileName);
        if (!file.open(QFile::ReadOnly | QFile::Text)) {
            qDebug("File: '%s' open failed!", file.fileName().toStdString().c_str());
            return map;
        }

        /* 读取汉字对照表文件并转换为QMap存储 */
        while(!file.atEnd()) {
            QString content = QString::fromUtf8(file.readLine());
            map[content.split(" ").last().trimmed()] = content.split(" ").first().split(",");
        }

        file.close();

        return map;
    }
};

源码地址

??欢迎大家一起协作完善。
https://github.com/aeagean/Hanzi2Pinyin

原文地址:https://www.cnblogs.com/qthub/p/12181340.html

时间: 2024-08-27 22:31:22

发布 | 汉字转拼音工具的相关文章

java汉字转拼音工具类

添加依赖 <dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.1</version> </dependency> 工具类代码: public class PinYinUtils { public static HanyuPinyinOutputFormat PINYIN_FORMA

java js 汉字对应拼音码,五笔码转换

最近做项目的时候,要求将汉字名称自动生成拼音码和五笔码,用于搜索,排列分组等 例如: 在记录中生成拼音码和五笔码保存,可由于后续查询搜索 下图中就可根据拼音码或者五笔码输入到名称里查询信息——具体实现就不解释了,这里重点说明码转换问题 还有类似这种既可以进行字母(拼音码)排序,也可以在输入框内查询 好了闲话少说直接给出前端js 和后台工具类——这些都是从网上查的,自己在这汇总记录一下,原谅我当时没有记录是哪几位大神的原创. js代码——创建一个js 具体内容复制即可 // 汉字拼音首字母列表 本

PHP 中文工具类,支持汉字转拼音、拼音分词、简繁互转

ChineseUtil 下载地址:https://github.com/Yurunsoft/ChineseUtil PHP 中文工具类,支持汉字转拼音.拼音分词.简繁互转. PHP Chinese Tool class, support Chinese pinyin, pinyin participle, simplified and traditional conversion 目前本类库拥有的三个功能,都是在实际开发过程中整理出来的.这次使用的数据不同于以前我开源过汉字转拼音和简繁互转,数据

汉字转拼音 java 工具类

package qing.huang; import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Set; /

java字符操作获取汉字的拼音以及其它经常使用工具

公司需求年年有,今年有点小特殊,哈哈. 忽然加了个需求,说要实现汉字转拼音查询. 在努力下写出来了,如今分享一下吧!.! /** * 汉字转拼音缩写 * * @param str * 要转换的汉字字符串 * @return String 拼音缩写 */ public static String getPYString(String str) { String tempStr = ""; for (int i = 0; i < str.length(); i++) { char c

java字符操作获取汉字的拼音以及其他常用工具

公司需求年年有,今年有点小特殊,哈哈. 忽然加了个需求,说要实现汉字转拼音查询. 在努力下写出来了,现在分享一下吧!!! /** * 汉字转拼音缩写 * * @param str * 要转换的汉字字符串 * @return String 拼音缩写 */ public static String getPYString(String str) { String tempStr = ""; for (int i = 0; i < str.length(); i++) { char c

个人常用工具类:汉字转拼音

汉字转拼音 HanzhiToPinyinUtil.java public class HanzhiToPinyinUtil{ /** * 获得汉语拼音首字母 * * @param chines 汉字 * @return */ public static String getAlpha(String chines) { String pinyinName = ""; char[] nameChar = chines.toCharArray(); HanyuPinyinOutputForm

JAVA 将中文转化为拼音工具类

将pinyin4j-2.5.0.jar (附件中有,记得解压)加入到classpath中. 工具类PinyinUtils代码见下: package com.test.utils; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutp

JavaScript 汉字与拼音互转终极方案 附JS拼音输入法

前言 网上关于JS实现汉字和拼音互转的文章很多,但是比较杂乱,都是互相抄来抄去,而且有的不支持多音字,有的不支持声调,有的字典文件太大,还比如有时候我仅仅是需要获取汉字拼音首字母却要引入200kb的字典文件,无法根据实际需要满足需求. 综上,我精心整理并修改了网上几种常见的字典文件并简单封装了一下可以直接拿来用的工具库. 代码和DEMO演示 github项目地址:https://github.com/liuxianan/pinyinjs 完整demo演示:http://demo.liuxiana