C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
2017-06-16 10:39
295 查看
http://www.cnblogs.com/guohu/p/5018923.html
汉字转拼音貌似一直是C#开发的一个难题,无论什么方案都有一定的bug,之前使用了两种方案。
1.Chinese2Spell.cs 一些不能识别的汉字全部转为Z
2.Microsoft Visual Studio International Feature Pack 1.0 连"广"、“区”都不能转,很让人失望。
这些都是2010年以前的方案,至少还有大侠在为汉字转拼音不断努力着,目前发现最完美的就是NPINYIN,在googlecode可以看到它的开源项目,http://code.google.com/p/npinyin/
不能识别的字很少,而且还在不断维护更新,日趋完美,推荐大家使用。
下载地址
dll:http://files.cnblogs.com/files/guohu/NPinyin-0.2.4588.20158-bin.zip
源码:http://files.cnblogs.com/files/guohu/NPinyin-0.2.x-source_code.zip
2、重构单字符拼音的获取,未找到拼音时返回字符本身.
汪思言 2012年7月23日晚
将中文转换成拼音全文和首字母的.net 组件。示例:
汉字转拼音貌似一直是C#开发的一个难题,无论什么方案都有一定的bug,之前使用了两种方案。
1.Chinese2Spell.cs 一些不能识别的汉字全部转为Z
2.Microsoft Visual Studio International Feature Pack 1.0 连"广"、“区”都不能转,很让人失望。
这些都是2010年以前的方案,至少还有大侠在为汉字转拼音不断努力着,目前发现最完美的就是NPINYIN,在googlecode可以看到它的开源项目,http://code.google.com/p/npinyin/
不能识别的字很少,而且还在不断维护更新,日趋完美,推荐大家使用。
下载地址
dll:http://files.cnblogs.com/files/guohu/NPinyin-0.2.4588.20158-bin.zip
源码:http://files.cnblogs.com/files/guohu/NPinyin-0.2.x-source_code.zip
v0.2.x的变化
1、增加对不同编码格式文本的支持,同时增加编码转换方法Pinyin.ConvertEncoding2、重构单字符拼音的获取,未找到拼音时返回字符本身.
汪思言 2012年7月23日晚
将中文转换成拼音全文和首字母的.net 组件。示例:
using System; using System.Collections.Generic; using System.Text; using NPinyin; namespace NPinyinTest { class Program { static void Main(string[] args) { string[] maxims = new string[]{ "事常与人违,事总在人为", "骏马是跑出来的,强兵是打出来的", "驾驭命运的舵是奋斗。不抱有一丝幻想,不放弃一点机会,不停止一日努力。 ", "如果惧怕前面跌宕的山岩,生命就永远只能是死水一潭", "懦弱的人只会裹足不前,莽撞的人只能引为烧身,只有真正勇敢的人才能所向披靡" }; string[] medicines = new string[] { "聚维酮碘溶液", "开塞露", "炉甘石洗剂", "苯扎氯铵贴", "鱼石脂软膏", "莫匹罗星软膏", "红霉素软膏", "氢化可的松软膏", "曲安奈德软膏", "丁苯羟酸乳膏", "双氯芬酸二乙胺乳膏", "冻疮膏", "克霉唑软膏", "特比奈芬软膏", "酞丁安软膏", "咪康唑软膏、栓剂", "甲硝唑栓", "复方莪术油栓" }; Console.WriteLine("UTF8句子拼音:"); foreach (string s in maxims) { Console.WriteLine("汉字:{0}\n拼音:{1}\n", s, Pinyin.GetPinyin(s)); } Encoding gb2312 = Encoding.GetEncoding("GB2312"); Console.WriteLine("GB2312拼音简码:"); foreach (string m in medicines) { string s = Pinyin.ConvertEncoding(m, Encoding.UTF8, gb2312); Console.WriteLine("药品:{0}\n简码:{1}\n", s, Pinyin.GetInitials(s, gb2312)); } Console.ReadKey();
相关文章推荐
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
- c#将中文转换成拼音,以空格隔开,全拼,获取汉字首字母,PinyinHelper
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
- 用C#写的将汉字转换为拼音首字母
- C#将汉字转换为拼音首字母
- C#将汉字转换为拼音首字母
- C#编写Rtf文档,中文与字母区分,C#将汉字转换成GBK编码
- SQL Server中如何把一个任意汉字转换为该汉字拼音第一个字母
- 转换字符串中汉字为其拼音缩写(C#)
- 怎样获取一组汉字的拼音首字母(使用C#)
- 转换字符串中汉字为其拼音缩写(C#)
- 转换字符串中汉字为其拼音缩写(C#)
- 转 C#中文转换成累加拼音声母,直接使用
- 转换字符串中汉字为其拼音缩写(C#)
- C#取得汉字的拼音的首字母