需求功能

输入一句汉语,转换成拼音全拼、简拼、每个字首字母及整句话首字母;

封装成单独的类,供后续使用方便;

运行效果

系统实现

汉语转拼音:

//汉语转拼音
QString CNLHelper::CNToPY(const QString &cnstr)
{QStringList list;for (int i = 0; i < cnstr.length(); ++i) {int unicode = QString::number(cnstr.at(i).unicode(), 10).toInt();if (unicode >= 0x4E00 && unicode <= 0x9FA5) {//这里的listPY就是按照UNICODE每个中文对应的拼音数组list.append(listPY.at(unicode - 0x4E00));} else {list.append(cnstr.at(i));}}return list.join(" ");
}

转简拼:

//汉语转所有字首字母
QString CNLHelper::CNToEL(const QString &cnstr)
{QString strChineseFirstPY = listJP.join("");if(cnstr.length() == 0) {return cnstr;}QString str;int index = 0;for(int i = 0; i < cnstr.length(); i++) {//若是字母或数字则直接输出ushort vChar = cnstr.at(i).unicode() ;if((vChar >= 'a' && vChar <= 'z' ) || (vChar >= 'A' && vChar <= 'Z')) {str.append(cnstr.at(i).toUpper());}if((vChar >= '0' && vChar <= '9')) {str.append(cnstr.at(i));} else {index = (int)vChar - 19968;if(index >= 0 && index < strChineseFirstPY.length()) {str.append(strChineseFirstPY.at(index));}}}return str;
}

汉语转第一个汉字首字母:

//汉语转第一个汉字首字母
QString CNLHelper::CNToFL(const QString &cnstr)
{return CNToEL(cnstr.mid(0,1));//取第一个汉字 并计算首字母
}

加入资源文件 “ cnl.txt ”:

项目源码

Github:lizhifun / QtCNLetter

Github 汉字拼音数据项目:mozillazg/pinyin-data

开发环境

Author:Lizhifun

OS:Windows 10 家庭中文版

Compiler:Microsoft Visual C++ Compiler 15.9.28307.1259(amd64)

Kit:Desktop Qt 5.14.2 MSVC2017 64bit

Qt Creator:4.11.1

参考文章:http://www.qtcn.org/bbs/read-htm-tid-65502.html

Qt知识点梳理 —— 实现汉字转拼音全拼简拼及首字母相关推荐

  1. SQL Server编写函数获取汉字的拼音码(简拼)

    目录 1. 拼音码简介 2.自定义获取拼音码函数 1. 拼音码简介 拼音码一般分为全拼.简拼.双拼三大类.在数据库系统查询中,使用简拼查询能打打提高输入的速度,提高查询效率.比如,在药店系统中,查询药 ...

  2. sql文字转换全拼_SQL自定义函数:由汉字生成拼音全拼

    SQL自定义函数:由汉字生成拼音全拼 CREATE function [dbo].[fun_GetPy_quanpin](@str varchar(100)) returns varchar(8000 ...

  3. java汉字转拼音(全拼、简拼)

    java汉字转拼音(全拼.简拼) <dependency><groupId>com.belerweb</groupId><artifactId>piny ...

  4. Delphi汉字转拼音全拼

    查询了很多网上汉字转拼音的方案,一种是用VBA实现的,另一种是只能转汉字首字母,结合VBA的方式,用Delphi实现汉字转拼音全拼的方法.附Delphi7写的例程链接 Delphi实现汉字转拼音全拼的 ...

  5. java将汉字转成拼音首字母大写字母_java 根据汉字生成拼音全拼或拼音首字母的示例...

    1.情景展示 java 根据中文生成对应的拼音 2.准备工作 所需jar包:pinyin4j-2.5.0.jar 3.解决方案 导包 import net.sourceforge.pinyin4j.P ...

  6. java中获取中文拼音(全拼)和中文首字母

    目录 一.引入依赖 二.代码 三.解释 1.创建格式化对象HanyuPinyinOutputFormat 2.设置输出结果的大小写格式 3.设置声调格式 4.进行汉字转拼音操作 四.作用 一.引入依赖 ...

  7. EasyUI下combobox中添加checkbox,并输入全拼简拼进行筛选显示

    开发任务:combobox中对输入值进行全拼简拼的搜索筛选显示,并且可以多选,取消选择,重复搜索,于是简单的考虑了如下js操作,应该会有更好的,但也是一种方法吧.做个记录,便于后期查阅查考. 1.ht ...

  8. 利用易用宝——设置EXCEL 文本中,姓名拼音字母为姓全大写,名的首字母大写?

    EXCEL 如何设置姓名的拼音字母为姓全大写,名的首字母大写? 如图: >>>>>>>>>>>>>>>> ...

  9. java 拼音转汉字_用Java转化汉字为拼音全拼

    /** * @(#)CnToSpell.java * 版权声明 Easydozer 版权所有 违者必究 * * 修订记录: * 1)更改者:Easydozer *   时 间:2004-10-20 * ...

  10. 汉字转拼音/全拼/首字母

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.Pinyin4j 简介 二.使用步骤 1.引入依赖 2.具体实现 总结 前言 项目中需要通过组织名称获取对应的简拼 ...

最新文章

  1. 暑期集训1:C++STL 例3:UVA-12100
  2. 百度编辑器(ueditor)@功能之获取坐标
  3. Intellij idea 14 创建简单的Web项目
  4. 使用nomad部署mysql
  5. linux学习笔记:1.基础知识和命令行基本操作
  6. AFNetworking请求提示Invalid parameter not satisfying: URLString
  7. ROS学习——3 roslaunch的使用
  8. 关于postgre中的pg_hba.conf 文件
  9. java_interface的用法_Java注释@interface的用法
  10. 【NOIP2015】【Luogu2669】金币(模拟)
  11. JMeter学习笔记(四)
  12. ESRI.ArcGIS.Controls.AxMapControl
  13. php格式转换rar,如何在PHP中创建压缩的RAR文件?
  14. u8服务器修改数据源,用友U8服务器修改数据库端口
  15. 最新北风网 web全栈视频教程
  16. android_驱动_qcom_【高通SDM660平台 Android 10.0】(10) --- Camera Sensor lib 与 Kernel Camera Probe 代码分析
  17. vue 引入液晶数字字体
  18. Html Imput 的用法
  19. 未转变者服务器.id大全,Unturned未转变者Elver最新地图ID汇总 2021最新版ID大全
  20. 格林尼治时间(GMT)格式化

热门文章

  1. 网页版OneDriver登录,解决OneNote同步不准确问题(需上网)
  2. python图像平移_仿射变换——图像平移 原理讲解及python实现
  3. winrar捆绑软件
  4. win10 Administrator账户被禁用怎么办?
  5. 时间序列复杂性的度量—近似熵和样本熵
  6. python取地址符_C中指针符*和取址符
  7. 搜狗推送工具-搜狗批量提交软件
  8. 员工绩效评估的5个目标
  9. 浅谈Java栈内存和堆内存
  10. CIM一套完善的消息推送框架