c# 中关于汉字转换成拼音

现在虽然是xamarin.from 但是大多是代码还是c#的。在点击title排序时候发现汉字不能正确排序。最后我是把汉字取首字母排序的。

发现一篇很有用的文章:http://www.cnblogs.com/bomo/archive/2012/11/08/2760212.htm

以下是我自己根据需要记录的。看原博也可以呢。

下载 Visual Studio International Pack类库,该类库扩展了.NET Framework对全球化软件开发的支持

下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=44cac7f0-633b-477d-aed2-99aee642fc10&DisplayLang=zh-cn

解压得到CHSPinYinConv.msi(拼音类库) 和 CHSPinYinConv.msi(简繁体类),安装(记住安装路径)

在项目中添加引用,把ChnCharInfo.dll 引入进来

  • 以下是我自己在xamarin.Android使用到的代码
  private string ToPinyin(string hanzi){char[] ch = hanzi.ToArray();string pinyinStr = "";string strRetWord = "";foreach (char c in ch){if (ChineseChar.IsValidChar(c)){ChineseChar chineseChar = new ChineseChar(c);ReadOnlyCollection<string> pinyin = chineseChar.Pinyins;pinyinStr = (pinyin[0].Substring(0, pinyin[0].Length - 1));if(pinyinStr != null&& pinyinStr != ""){Console.Write(pinyinStr + '\n');strRetWord = strRetWord + pinyinStr.Substring(0, 1);}}else{strRetWord += c.ToString();}}return strRetWord;}

  • 以下是我自己在xamarin.UWP使用到的代码

在uwp中我发现ChineseChar  是没有的 我换了另一种方法

        /// <summary> /// 拆分姓名/// </summary> /// <param name="CnChar">姓名</param> /// <returns>整个姓名拼音字母缩写</returns> private static string MainWord(string gown){string strRetWord = "";for (int i = 0; i < gown.Length; i++){string strWord = gown[i] + "";strRetWord = strRetWord + GetCharSpellCode(strWord);}return strRetWord;}/// <summary> /// 得到一个汉字的拼音第一个字母,如果是一个英文字母则直接返回大写字母 /// </summary> /// <param name="CnChar">单个汉字</param> /// <returns>单个大写字母</returns> private static string GetCharSpellCode(string cnChar){long iCnChar;byte[] ZW = DBCSEncoding.GetDBCSEncoding("gb2312").GetBytes(cnChar);//如果是字母,则直接返回 if (ZW.Length == 1){return cnChar.ToUpper();}else{// get the array of byte from the single char int i1 = (short)(ZW[0]);int i2 = (short)(ZW[1]);iCnChar = i1 * 256 + i2;}//expresstion //table of the constant list // 'A'; //45217..45252 // 'B'; //45253..45760 // 'C'; //45761..46317 // 'D'; //46318..46825 // 'E'; //46826..47009 // 'F'; //47010..47296 // 'G'; //47297..47613 // 'H'; //47614..48118 // 'J'; //48119..49061 // 'K'; //49062..49323 // 'L'; //49324..49895 // 'M'; //49896..50370 // 'N'; //50371..50613 // 'O'; //50614..50621 // 'P'; //50622..50905 // 'Q'; //50906..51386 // 'R'; //51387..51445 // 'S'; //51446..52217 // 'T'; //52218..52697 //没有U,V // 'W'; //52698..52979 // 'X'; //52980..53640 // 'Y'; //53689..54480 // 'Z'; //54481..55289 // iCnChar match the constant if ((iCnChar >= 45217) && (iCnChar <= 45252)){return "A";}else if ((iCnChar >= 45253) && (iCnChar <= 45760)){return "B";}else if ((iCnChar >= 45761) && (iCnChar <= 46317)){return "C";}else if ((iCnChar >= 46318) && (iCnChar <= 46825)){return "D";}else if ((iCnChar >= 46826) && (iCnChar <= 47009)){return "E";}else if ((iCnChar >= 47010) && (iCnChar <= 47296)){return "F";}else if ((iCnChar >= 47297) && (iCnChar <= 47613)){return "G";}else if ((iCnChar >= 47614) && (iCnChar <= 48118)){return "H";}else if ((iCnChar >= 48119) && (iCnChar <= 49061)){return "J";}else if ((iCnChar >= 49062) && (iCnChar <= 49323)){return "K";}else if ((iCnChar >= 49324) && (iCnChar <= 49895)){return "L";}else if ((iCnChar >= 49896) && (iCnChar <= 50370)){return "M";}else if ((iCnChar >= 50371) && (iCnChar <= 50613)){return "N";}else if ((iCnChar >= 50614) && (iCnChar <= 50621)){return "O";}else if ((iCnChar >= 50622) && (iCnChar <= 50905)){return "P";}else if ((iCnChar >= 50906) && (iCnChar <= 51386)){return "Q";}else if ((iCnChar >= 51387) && (iCnChar <= 51445)){return "R";}else if ((iCnChar >= 51446) && (iCnChar <= 52217)){return "S";}else if ((iCnChar >= 52218) && (iCnChar <= 52697)){return "T";}else if ((iCnChar >= 52698) && (iCnChar <= 52979)){return "W";}else if ((iCnChar >= 52980) && (iCnChar <= 53640)){return "X";}else if ((iCnChar >= 53689) && (iCnChar <= 54480)){return "Y";}else if ((iCnChar >= 54481) && (iCnChar <= 55289)){return "Z";}else return ("?");}

但是在uwp中 使用这个我发现有些汉字是无法转换来的 例如【旻】字是没有的。如何解决呢!

转载于:https://www.cnblogs.com/lanmaokomi/p/7443693.html

关于xamarin汉字转换成拼音相关推荐

  1. hive 转拼音udf_自定义UDF函数:将汉字转换成拼音

    工作需求要讲汉字转换成拼音,自定义UDF函数 import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j ...

  2. C#下汉字转换成拼音

    因为一个开发需求需要把汉字转换成拼音,没想到还真的可以! 找了一个类,是别人整理的,默认情况下第一个字母是大写的.我这边需要都是小写的,可以按照自己情况进行实际的需求进行修改,比如有些时候只要首字母就 ...

  3. 自定义UDF函数:将汉字转换成拼音

    工作需求要讲汉字转换成拼音,自定义UDF函数 import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j ...

  4. 将中文汉字转换成拼音(全拼)

    using System.Globalization; using System.Text; using System.Text.RegularExpressions;/// <summary& ...

  5. java如何把汉字转换成拼音

    如何把汉字转换成拼音,听上去好像有难度,但是网上搜了一下,发现有这方面的工具包,叫做pin4j,怎么用呢? /*** * @param zhongwen 传入的中文字符串* @return 返回转换成 ...

  6. javascript汉字转换成拼音

    javascript汉字转换成拼音 分类 JavaScript 2007-9-27 7:16:38 浏览 13791 回复 0 隐藏侧边栏 转自 www.div-css.com . 阅读 编辑 运行 ...

  7. Android汉字转换成拼音

    今天介绍一个好用的类,把中文转换成拼音,具体代码如下: /**** An object to convert Chinese character to its corresponding pinyin ...

  8. 汉字转拼音 python_python把汉字转换成拼音实现程序

    python把汉字转换成拼音实现程序 文章一个简洁干的汉字转拼音 程序,复制下载就可以直接使用,有需要的同学可以参考一下下. #coding:utf-8 #基于python2.6 table = 'a ...

  9. 汉字转换成拼音的工具----pinyin4j

    今天在无意中发现了pinyin4j这个强大的工具,它能帮助我们完成将汉字转换成拼音的工作,这给我们的开发带来了巨大的便利,意识到这一点,我果断的学习了.在开始记录我的学习成果前,我必须先感谢pinyi ...

最新文章

  1. 排序算法之希尔排序(C/C++)
  2. 1582年日历怎么了_【知乎周边】知乎2020年日历开箱+测评
  3. 软考网络管理员存储容量计算相关问题
  4. 软件项目管理第三课—如何应对投标书的软件功能报价
  5. 华为服务器型号命名,服务器的命名规则
  6. Firefox 67不能勾选“以后自动采用相同的动作处理此类文件”解决方案
  7. angularjs sill 创建项目_AngularJS快速上手,从安装到运行
  8. Navicat Premium查看建表语句(DDL)
  9. Python 翻译文章 txt文件
  10. Serv-U FTP服务器安装带绿化版工具
  11. C语言中 整数除法 向上取整的数学证明
  12. MQTT——java简单测试(二)
  13. 软件设计师中级-数据库设计
  14. VC实现顶层窗口的透明与实现子窗口的透明【重点:子窗口透明处理】
  15. 学计算机有作业吗,有没有电脑高手,大学计算机专业的作业
  16. 【JavaScript】数据类型
  17. MATLAB傅里叶级数分解极其图像
  18. 红通告小程序_博主招募新选择,“红通告”助力红人推广
  19. ubuntu20.04搭建lamp环境 +制作网页
  20. neo4j-OGM 动态cypher java查询

热门文章

  1. 计算机保存图片找不到桌面,保存的图片在桌面但是找不到怎么办? 爱问知识人...
  2. Win7 用户文件夹转移方法
  3. table中td文字超出长度用省略号隐藏超出内容,鼠标点击内容全部显示
  4. QQ群里收集的外企iOS开发的笔试题
  5. 2022.5.29 蓝桥杯第十三届中级组全国总决赛真题
  6. 收购WindRiver,Wintel变成Gootel
  7. Facebook股票抢夺战:中国富人争做股东【转】
  8. 三天卖光千亩顶级玫瑰,聚划算如何将品质性价比做到极致?
  9. 当当API接口-item_get - 获得dangdang商品详情
  10. 001-Windows驱动编程基础知识