1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母

C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母

时间:2020-11-09 02:55:02

相关推荐

C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母

汉字转拼音貌似一直是C#开发的一个难题,无论什么方案都有一定的bug,之前使用了两种方案。

1.Chinese2Spell.cs 一些不能识别的汉字全部转为Z

2.Microsoft Visual Studio International Feature Pack 1.0 连"广"、“区”都不能转,很让人失望。

这些都是以前的方案,至少还有大侠在为汉字转拼音不断努力着,目前发现最完美的就是NPINYIN,在googlecode可以看到它的开源项目,/p/npinyin/

不能识别的字很少,而且还在不断维护更新,日趋完美,推荐大家使用。

下载地址

dll:/files/guohu/NPinyin-0.2.4588.8-bin.zip

源码:/files/guohu/NPinyin-0.2.x-source_code.zip

v0.2.x的变化

1、增加对不同编码格式文本的支持,同时增加编码转换方法Pinyin.ConvertEncoding2、重构单字符拼音的获取,未找到拼音时返回字符本身.

汪思言 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)); }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。