C#把汉字转换成拼音
2013-05-04 15:57
309 查看
1.下载下面类库并引入里面的三个DLL文件
http://files.cnblogs.com/xdoudou/Microsoft_Visual_Studio_International_Pack_1.0.rar
2.创建一个类Pinyin.cs
3.调用相应的静态方法进行转换
http://files.cnblogs.com/xdoudou/Microsoft_Visual_Studio_International_Pack_1.0.rar
2.创建一个类Pinyin.cs
using System; using System.Data; using System.Configuration; using System.Web; using Microsoft.International.Converters.PinYinConverter; using System.Collections.ObjectModel; using System.Text; using System.Text.RegularExpressions; using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter; /// <summary> /// 汉字转拼音类 /// </summary> public class PinYinConver { public PinYinConver() { // // TODO: 在此处添加构造函数逻辑 // } /// <summary> /// 把汉字转换成拼音(全拼) /// by /// </summary> /// <param name="hzString">汉字字符串</param> /// <returns>转换后的拼音(全拼)字符串</returns> public static string Convert(string hzString) { if (string.IsNullOrEmpty(hzString)) return ""; char[] noWChar = hzString.ToCharArray(); string txt = ""; for (int j = 0; j < noWChar.Length; j++) { if (IsValidChar(noWChar[j])) { txt += ConvertToFirstPinYin(noWChar[j].ToString()); } } return txt; } public static bool IsValidChar(char ch) { return ChineseChar.IsValidChar(ch); } public static string ConvertToFirstPinYin(string chineseStr) { if (chineseStr == null) return ""; char[] charArray = chineseStr.ToCharArray(); StringBuilder sb = new StringBuilder(); foreach (char c in charArray) { ChineseChar chineseChar = new ChineseChar(c); ReadOnlyCollection<string> pyColl = chineseChar.Pinyins; foreach (string py in pyColl) { if (py != null) { sb.Append(py.Substring(0, 1)); break; } } } return sb.ToString(); } public static string ConvertToPinYin(string chineseStr, bool includeTone) { if (chineseStr == null) throw new ArgumentNullException("chineseStr"); char[] charArray = chineseStr.ToCharArray(); StringBuilder sb = new StringBuilder(); foreach (char c in charArray) { ChineseChar chineseChar = new ChineseChar(c); ReadOnlyCollection<string> pyColl = chineseChar.Pinyins; foreach (string py in pyColl) { if (py == null) { continue; } sb.Append(py); sb.Append("&"); } sb.Remove(sb.Length-1,1); } if (!includeTone) { StringBuilder sb2 = new StringBuilder(); foreach (char c in sb.ToString()) { if (!char.IsNumber(c)) sb2.Append(c); } return sb2.ToString(); } return sb.ToString(); } }
3.调用相应的静态方法进行转换
相关文章推荐
- C#汉字转换拼音技术详解(高性能)
- C#下汉字转换成拼音
- C#汉字转换拼音技术详解(高性能)
- 转换字符串中汉字为其拼音缩写(C#)
- C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
- C# 处理汉字、拼音、笔画转换 Microsoft Visual Studio International Pack 1.0
- c#汉字拼音转换拼音
- C#实现汉字转换为拼音缩写的代码
- C#中汉字与拼音转换、简繁体转换的官方版本
- C#将汉字转换为拼音(按照拼音搜索)
- C#实现汉字转换为拼音缩写的代码
- C#汉字转换拼音技术详解
- C#实现汉字转换为拼音缩写的代码
- C#实现汉字转换为拼音缩写的代码
- C#汉字转换成拼音
- .NET 把字符串转换成拼音 c# 和vb 汉字转换成拼音
- C#编程入门--将指定字符串中的汉字转换为拼音缩写,其中非汉字保留为原字符
- C#实现将汉字与英文字符混和字符串中的汉字转换为拼音
- C#汉字转换拼音,含大小写