美文网首页
发布 | 汉字转拼音工具

发布 | 汉字转拼音工具

作者: Qt君 | 来源:发表于2020-01-12 13:30 被阅读0次

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

demo.gif

实现

  • 加载汉字拼音对照文件pinyin.txt(4万+汉字拼音对照)到QMap容器。
  • 遍历QMap容器的汉字从而找到对应的拼音,如找不到该汉字将原样输出。
  • 部分pinyin.txt内容:(https://github.com/mozillazg/pinyin-data提供汉字拼音源强力支持)
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

相关文章

  • 发布 | 汉字转拼音工具

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

  • 发布 | 汉字转拼音工具

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

  • Python 拼音汉字互转

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

  • python汉字转拼音

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

  • 汉字转拼音工具库

    仅做收藏用 最近需要实现汉字转拼音功能,找了一个简单的vue-py,结果很多生僻字转不了,后来找了一个能很好转拼音...

  • 汉字转拼音

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

  • 汉字转拼音

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

  • 汉字转拼音

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

  • 汉字转拼音

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

  • 汉字转拼音

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

网友评论

      本文标题:发布 | 汉字转拼音工具

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