之前做过一个程序,把名字转换为拼音。今天整理了出来。这个程序的关键点在于数据,可以从以下链接下载具体数据,内容为汉字的注音和解释。

链接: https://pan.baidu.com/s/1o98UE6m 
密码: p7nt 

准备工作:

先在数据库中建立一个表,我的数据库是SQL SERVER数据。建表语句如下:

CREATE TABLE [dbo].[ChineseToPinyin]([F_GUID] [varchar](40) NULL,[F_ZI] [nvarchar](30) NULL,[F_PY] [varchar](200) NULL,[F_WUBI] [varchar](200) NULL,[F_BUSHOU] [nvarchar](100) NULL,[F_BIHUA] [int] NULL,[F_DESCRIPT] [nvarchar](2000) NULL,[F_CONTENT] [nvarchar](2000) NULL
) GOALTER TABLE [dbo].[ChineseToPinyin] ADD  DEFAULT (newid()) FOR [F_GUID]
GO

转换方法如下:

        // 参数说明:chinese 汉字字符串// 返回值  :string[]数组长度为2;//           string[0]为汉字首字母;//           string[1]为汉字全拼。//           如果为多音字则返回多个字符串用逗号隔开。public static string[] getDatePinyin(string chinese){string strConn = "数据库连接字符串";string[] arrResult = new string[2];try{if (chinese.Trim() != ""){string pinyin = "";string first = "";string zi = "";string py = "";List<string> lst = new List<string>();List<string> lstFirst = new List<string>();for (int i = 0; i < chinese.Length; i++){zi = chinese.Substring(i, 1);string sql = "select F_py from ChineseToPinyin where RTRIM(LTRIM(f_zi))='" + zi.Trim() + "'";// 根据汉字查询对应的拼音try{object obj = DataAccess.GetSingleSQL(sql, strConn);if (obj != null){py = obj.ToString().Trim();}else{// 如果未查询到对应的拼音则直接返回汉字本身py = zi;}}catch (Exception e){// 如果抛出异常则直接返回汉字本身py = zi;}if (py.Trim() != ""){string[] arr = null;// 多音字的拼音会用逗号隔开if (py.IndexOf(',') >= 0){arr = py.Split(',');}else{arr = new string[1];arr[0] = py;}// 由于是多个字循环,所以需要判断list中是否有内容if (lst.Count > 0){// 临时列表,用于存储拼音连接串List<string> lstTmp = new List<string>();List<string> lstFirstTmp = new List<string>();for (int j = 0; j < arr.Length; j++){if (arr[j] != null && arr[j].Trim() != ""){// 将原有的内容和新的字的拼音进行连接for (int k = 0; k < lst.Count; k++){lstTmp.Add(lst[k] + arr[j]);lstFirstTmp.Add(lstFirst[k] + arr[j].Substring(0, 1));}}}lst.Clear();lstFirst.Clear();// 将临时列表的内容存储到列表中for (int l = 0; l < lstTmp.Count; l++){lst.Add(lstTmp[l]);lstFirst.Add(lstFirstTmp[l]);}}else{for (int j = 0; j < arr.Length; j++){if (arr[j] != null && arr[j].Trim() != ""){lst.Add(arr[j]);lstFirst.Add(arr[j].Substring(0, 1));}}}}}first = "";pinyin = "";for (int iIndex = 0; iIndex < lst.Count; iIndex++){if (pinyin == ""){pinyin = lst[iIndex];}else{pinyin = pinyin + "," + lst[iIndex];}}for (int iIndex = 0; iIndex < lstFirst.Count; iIndex++){if (first == ""){first = lstFirst[iIndex];}else{first = first + "," + lstFirst[iIndex];}}arrResult[0] = first;arrResult[1] = pinyin;}else{arrResult[0] = "";arrResult[1] = "";}}catch (Exception ex){arrResult[0] = "";arrResult[1] = "";}return arrResult;}

然后直接调用就可以了。

知行办公,专业移动办公平台
 https://zx.naton.cn/
【总监】十二春秋之,3483099@qq.com;
【Master】zelo,616701261@qq.com;
【运营】运维艄公,897221533@qq.com;
【产品设计】流浪猫,364994559@qq.com;
【体验设计】兜兜,2435632247@qq.com;
【iOS】淘码小工,492395860@qq.com;iMcG33K,imcg33k@gmail.com;
【Android】人猿居士,1059604515@qq.com;思路的顿悟,1217022114@qq.com;
【java】首席工程师MR_W,feixue300@qq.com;
【测试】土镜问道,847071279@qq.com;
【数据】fox009521,42151960@qq.com;
【安全】保密,你懂的

C#汉字转拼音的实现方法相关推荐

  1. php_excel表中_如何自动将多行中文转换成拼音,excel表格怎样设置批量将汉字变成拼音...

    在日常工作,常常会用到Excel做表格,也许在这个过程中会输入姓名或其它名称等,然后再另一个格中显示对应的拼音,很多人会一个个的输入,其实是可以直接进行批量转换的.下面学习啦给大家分享excel批量将 ...

  2. 取汉字的拼音简码.如果是其它字符,则原样返回(2010)

    以前用过很多中取汉子拼音的方法,一直有些字是取不出来的 没办法,只有从微软的拼音库把所有的字取出来了,应该没有取不出来的字了.... '-------------------------------- ...

  3. Android汉字转拼音HanziToPinyin

    Android系统本身自带有有将汉字转化为英文拼音的类和方法.具体的类就是HanziToPinyin.java.Android系统自身实现的通讯录中就使用了HanziToPinyin.java对中文通 ...

  4. 城市查询-汉字转拼音、拼音、全拼、简拼、混拼、卷舌音、前后鼻音、兼容查询C#与nodejs+redis应用---笔记

    2018-10-18日整理更新 原文地址:http://blog.csdn.net/gzy11/article/details/52351697 实现主要功能: 1.全拼搜索.如:shanghai 搜 ...

  5. C#实现将汉字转换为拼音

    这篇文章仅微微涉及将汉字转换为拼音的实现方法,当然,能力有限,不能实现对声调的识别及显示! 页面设计 页面设计很简洁,一个输入框用来输入需要转换的文本,一个显示框用来展示转换后的文本. 代码实现部分 ...

  6. 音调识别 php,php 实现 汉字转拼音

    php汉字转拼音我使用到了overtrue/pinyin拓展 一:安装overtrue/pinyin拓展 composer require overtrue/pinyin 二:overtrue/pin ...

  7. 利用python实现汉字转拼音的2种方法

    python实现汉字转拼音的2种方法 在浏览博客时,偶然看到了用python将汉字转为拼音的第三方包,但是在实现的过程中发现一些参数已经更新,现在将两种方法记录一下. xpinyin 在一些博客中看到 ...

  8. 使用完整拼音查找汉字(完整拼音,不是网上散布的首字符拼音那种方法)

    注意:这绝不是网上散播的只能使用拼音首字符进行汉字查找的方案,这是一个真正的输入完整拼音得到相应汉字的解决办法. 大部分程序员眼中只有变量.函数--他们忽略生活中的一切,他们并不理解真正的优雅的程序解 ...

  9. php 将中文字符转英文字母_PHP实现将汉字转换为拼音及获取词语首字母的方法...

    本文实例讲述了PHP实现将汉字转换为拼音及获取词语首字母的方法.分享给大家供大家参考,具体如下: 最近要开发将汉字转换为拼音和得到首字的功能记录下来哈子:呵呵~ class Pinyin{ priva ...

  10. PHP汉字转拼音的两种方法+PHP提取汉字(中文)方法

    方法一:根据ASCII码转换,GB2312库对多音字也无能为力. GB2312标准共收录6763个汉字,不在范围内的汉字是无法转换,如:中国前总理朱镕基的"镕"字. GB2312中 ...

最新文章

  1. 转:数字集群移动通信系统技术体制综述及优选准则
  2. Case when then esle end
  3. 简述进程的启动、终止的方式以及如何进行进程的查看。
  4. 二叉树重建(c++)
  5. Unable to execute dex: Multiple dex files define异常的解决办法
  6. mix2s android p内测,历时一个月,MIX2S成小米首款Android P公测机型
  7. HDU4311(排序+二分)
  8. 一个使用Java BlockingQueue实现的生产者和消费者
  9. install npm 到某个文件下执行_你可能不知道的 npm 依赖管理那些事
  10. 前端学习(2890):如何短时间内实现v-for 模板编译321
  11. hdu4554 A Famous Game 概率期望
  12. mysql pdo 事务处理_php中pdo的mysql事务处理实例
  13. C语言基础教程读书笔记5.2.(第五章函数和存储类2)
  14. 贝佐斯正接受14小时训练 以为周二进行的首次太空飞行做准备
  15. h5 video 手机 显示第一帧_【图像处理二】HDMI显示(一)
  16. 计算机专业最新研究领,「金仕教育」打码秃头?CS计算机专业研究方向与研究领域介绍...
  17. 在国外当程序员到底爽不爽?
  18. Hbase下载、安装流程
  19. docker安装时报服务失败,因为控制进程退出并带有错误代码
  20. BIOS知识枝桠——PCD

热门文章

  1. Extendsim 系统仿真的强大工具,多方法论模拟--介绍和试用
  2. 大乱斗ps4好玩吗_飞刀剑影乱作战:飞刀大乱斗ol游戏小程序,点开既玩
  3. 细节至上——Splus微博设计之界面篇(转)
  4. windows powershell快捷键
  5. 室内声场计算机模拟的声线跟踪法和虚声源法,计算机声场模拟软件ODEON及其应用lowbar;彭庆 - 范文中心...
  6. Objective-C概述
  7. preg_match_all() 函数
  8. matlab中平稳性检验,基于Matlab的信号平稳性检验系统
  9. java能调用易语言的dll文件_易语言调用模块和DLL的方法教学
  10. 基于JAVA+SpringMVC+MYSQL的汽车4S店管理系统