发布 | 汉字转拼音工具
通过查找汉字拼音库实现实时汉字转拼音的功能。
实现
- 加载汉字拼音对照文件
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();elseoutput += 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
发布 | 汉字转拼音工具相关推荐
- Android 汉字转拼音工具
Android 汉字转拼音工具 前言 工具 使用 前言 没有.. 工具 pinyin4j - 下载1 pinyin4j - 下载2 使用 import net.sourceforge.pinyin4j ...
- Java汉字转换拼音工具类
1. 使用pinyin4j 1.1 引入相关maven依赖 <dependency><groupId>com.belerweb</groupId><artif ...
- 汉字转拼音(工具类)
2019独角兽企业重金招聘Python工程师标准>>> package com.qst.tesc.course.web.rest.util; import java.io.Unsup ...
- Java汉字转为拼音工具类
依赖文件 <!-- https://mvnrepository.com/artifact/com.belerweb/pinyin4j --><dependency><gr ...
- 汉字转拼音工具类,依赖Pinyin4J
汉字转拼音工具类,依赖Pinyin4J Maven 坐标 <dependency><groupId>com.belerweb</groupId><artifa ...
- java汉字转拼音工具类源代码
原文:java汉字转拼音工具类源代码 源代码下载地址:http://www.zuidaima.com/share/1550463387880448.htm 汉字转拼音 Pinyin pinyin = ...
- 能处理姓氏异读的汉字转拼音工具:hanz2piny
hanz2piny 是一个汉字转拼音的工具,它高效.易用.无需单独数据文件,非常适合用于制作密码攻击的帐号字典,因为 hanz2piny 能处理姓氏异读. https://github.com/yan ...
- 汉字转拼音工具JPinyin的介绍和使用示例
2019独角兽企业重金招聘Python工程师标准>>> 汉字转拼音的开源工具类包,已经出现过好几个,比如:Pinyin4J.Jpinyin等.本文主要结合JPinyin汉字转拼音的J ...
- java 汉字转拼音工具_java汉字转拼音工具类
public classPinYinUtils {public staticHanyuPinyinOutputFormat PINYIN_FORMAT;static{ PINYIN_FORMAT= n ...
最新文章
- 单元测试 applicationinfomanager bean无法注入_你真的会用Spring吗?如何在单例Bean中注入原型Bean...
- Ionic(ionicframework)一款接近原生的Html5移动App开发框架 中文网
- 从决策树学习谈到贝叶斯分类算法
- PostgreSQL 10 自定义并行计算聚合函数的原理与实践
- Python继承范例
- Android Tween动画之RotateAnimation实现图片不停旋转
- 在udp聊天器里如何给飞秋发消息
- HTML5 video 视频标签使用介绍
- 数学物理方法 数学物理方程
- Linux 脚本修改ps1,Ubuntu修改命令提示符PS1教程(非常详细)
- Python-illegal multibyte sequence
- vue3组件之间通信(一)——父传子属性和方法
- scipy库 signal 导入_Python scipy.signal方法代码示例
- 配置CLion clang-format保存时自动格式化
- java applet 一个简单的例子(applet+html)
- 4.2 Ansible中的常用模块
- 联想ERP项目实施案例分析(8) 上线支持与项目总结
- 旧书交易系统——第一次报告
- Java实现 LeetCode 558 四叉树交集(四叉树,第一次遇到,研究了半天)
- Java中夏令时问题