作者: 乔克斯
查看: 9504|回复: 21

主题标签Tag

打印 上一主题 下一主题

[源码] 【文字转拼音】基于Simplified实现的汉字转拼音

[复制链接]
跳转到指定楼层
楼主
乔克斯 发表于 2015-4-18 23:35:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
查看: 9504|回复: 21
效果截图:
1.主界面。


功能说明:

命名空间在Microsoft.International.Converters.PinYinConverter;
基于微软的拼音帮助类Simplified Chinese Pin-Yin Conversion Library。
类已经封装好了,调用非常方便,源码中已经包含了 ChnCharInfo.dll
微软的东西还是比较靠谱的,英文字母,符合,中文符合都可以正常显示不会影响识别结果。
主要可以用在一些根据中文来实现自动拼音命名的地方,比如根据商店中文名称生成英文网址等等,因为并不是所有的地方使用中文都可以正常读取或运行的。
不想下载源码的童鞋可以自己百度一个ChnCharInfo.dll然后参照下面的代码:
[C#] 纯文本查看 复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.International.Converters.PinYinConverter;
namespace HelloCsharpPingYin
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button_ok_Click(object sender, EventArgs e)
        {
            textBox_word.Text = PY.GetPinyin(textBox_chn.Text).ToLower();

            
        }
        public class PY
        {
            /// <summary> 
            /// 汉字转化为拼音
            /// </summary> 
            /// <param name="str">汉字</param> 
            /// <returns>全拼</returns> 
            public static string GetPinyin(string str)
            {
                string r = string.Empty;
                foreach (char obj in str)
                {
                    try
                    {
                        ChineseChar chineseChar = new ChineseChar(obj);
                        string t = chineseChar.Pinyins[0].ToString();
                        r += t.Substring(0, t.Length - 1)+" ";
                    }
                    catch
                    {
                        r += obj.ToString();
                    }
                }
                return r;
            }

            /// <summary> 
            /// 汉字转化为拼音首字母
            /// </summary> 
            /// <param name="str">汉字</param> 
            /// <returns>首字母</returns> 
            public static string GetFirstPinyin(string str)
            {
                string r = string.Empty;
                foreach (char obj in str)
                {
                    try
                    {
                        ChineseChar chineseChar = new ChineseChar(obj);
                        string t = chineseChar.Pinyins[0].ToString();
                        r += t.Substring(0, 1);
                    }
                    catch
                    {
                        r += obj.ToString();
                    }
                }
                return r;
            }
        }
    }
}


案例源码下载:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏7 转播转播
回复 论坛版权

使用道具 举报

沙发
CastleDrv 发表于 2015-4-19 09:25:31 | 只看该作者
- -这都有~~
回复

使用道具 举报

板凳
辰晓晨 发表于 2015-4-20 08:30:06 | 只看该作者
顶一个
回复

使用道具 举报

地板
kuafaaf 发表于 2015-4-20 09:10:21 | 只看该作者
来看看=v=
回复

使用道具 举报

5#
尼古拉斯赵四 发表于 2015-5-30 23:12:45 | 只看该作者
好好好!!楼主真是太好了
6#
尼古拉斯赵四 发表于 2015-5-30 23:13:43 | 只看该作者
太好了,正需要!!!!
7#
判囚 发表于 2015-8-29 23:05:49 | 只看该作者
微软可以啊 哈哈啊
8#
博弈 发表于 2015-10-17 20:37:55 | 只看该作者
顶一个,顶一个,顶一个,顶一个,顶一个,顶一个,顶一个,顶一个,顶一个,
9#
qq385723790 发表于 2015-12-26 21:31:55 | 只看该作者
太好了,正需要!!!!
10#
zjwzcx 发表于 2016-1-25 10:13:18 | 只看该作者
感谢楼主的分享
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-4-25 13:58, Processed in 0.681007 second(s), 35 queries , Gzip On.

快速回复 返回顶部 返回列表