汉拼转换

来源:互联网 发布:spss数据的标准化处理 编辑:程序博客网 时间:2024/04/20 12:07

汉字转换成拼音大致有四种方法

 

一、自定义转换表

它的大致原理:汉字本身就有一个GB2312编码表,一个拼音可能对应多个汉字,而拼音的组合本来就不多,可以建立一个拼音音节表,而这两个表之间存在对某种对应关系,利用这两个表就能够实现汉拼转换。

网上有已封装好的类,不过据说这种方法可能对生僻字支持不好

 

二、IME的IFELanguage接口

 据说是一个比较好的方法,没有测试过,也没找到详细的资料,只有一份没有注释的代码,貌似比较复杂

 

三、Simplified Chinese Pin-Yin Conversion Library

MS提供了一个Microsoft Visual Studio International Pack 类库软件包,目前是1.0 SR1,其中有一个类库:

  • Simplified Chinese Pin-Yin Conversion Library - 支持获取简体中文字符的常用属性比如拼音,多音字,同音字,笔画数。
  •  从MS站点

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

    下载这个软件包,安装其中的CHSPinYinConv.msi,在VS里添加引用,目标是其它装路径下的ChnCharInfo.dll,如

    C:/Program Files/Microsoft Visual Studio International Pack/Simplified Chinese Pin-Yin Conversion Library/ChnCharInfo.dll,然后 using Microsoft.International.Converters.PinYinConverter

     

    以下是范例代码

    通过ChineseChar.PinYins会返回这个汉字的所有拼音,至于哪一个更准确,没有找到好的方法,这里默认使用第一个,带来的问题是“邹”会返回“ju”,“厂”会返回“an”

     

    四、利用易语言制作DLL

    在易语言里有一个“取拼音”子程序,用于取得一个汉字的全拼

    以下是DLL接口函数的范例代码

    易中文本型是ANSI,一个汉字占两个字符,这就需要一种方法来判断字符是否为汉字首字符

    除范例代码中的负判断外,还有另一种方法可参考

    DLL的调用与WinAPI相同,将dll文件放到程序目录,在代码中Import

     

     

     参考资料:

     

    C#汉字转换拼音方法
    http://www.cnblogs.com/zt04985807/archive/2009/01/09/1372953.html

     

    C#将中文词组处理成拼音
    http://blog.sina.com.cn/s/blog_589d32f501000aya.html

     

    CSDN技术中心 用C#实现汉字转化为拼音
    http://dev.csdn.net/Develop/article/25/25536.shtm

     

    C#将中文词组处理成拼音
    http://blog.sina.com.cn/s/blog_589d32f501000aya.html

     

    使用微软的多语言工具包进行网站简体与繁体的互转和得到汉字、拼音、笔画等相关信息
    http://space.itpub.net/15723462/viewspace-591074 

     

    原创粉丝点击