教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> 编程基地 >> C# >> C#取得汉字的拼音的首字母 RSS订阅
C#取得汉字的拼音的首字母
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
今天在yyf9989 的 Blog 上看到一篇《C#计算汉语拼音码 》,看了里面的代码,
觉得是比较繁琐.它主要是检索输入的汉字在数组中的位置,然后返回第一个字母.
于是就想起来了,可以利用汉字在计算机里面的编码来的到汉字的首拼音,
查找了一些资料,通过以下的方法成功的得到了解决.就放在这里,请朋友们参考.

static public string GetChineseSpell( string strText )
{
    int len = strText.Length;
    string myStr = "";
    for( int i=0;i<len;i++ )
    {
        myStr += getSpell( strText.Substring( i,1 ) );
    }
    return myStr;
}

static public string getSpell( string cnChar )
{
    byte[] arrCN = Encoding.Default.GetBytes( cnChar );
    if( arrCN.Length > 1 )
    {
        int area = ( short )arrCN[0];
        int pos = ( short )arrCN[1];
        int code = ( area<<8 ) + pos;
        int[] areacode = {45217,45253,45761,46318,46826,47010,47297,
47614,48119,48119,49062,49324,49896,50371,50614,50622,50906,51387,
51446,52218,52698,52698,52698,52980,53689,54481};
        for( int i=0;i<26;i++ )
        {
            int max = 55290;
            if( i != 25 ) max = areacode[i+1];
            if( areacode[i]<=code && code<max )
            {
                return Encoding.Default.GetString( new byte[]{( byte )
( 65+i )} );
            }
        }
        return "*";
    }
    else return cnChar;
}

来源:十度教育
作者:
关键字:取得汉字,拼音,首字母
发表日期:2006-10-1 11:10:40

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:用C#代码编写的SN快速输入工具   下一篇:ADO.NET的开发场景及传统ADO的处理


2009-1-9 20:55:46
本文的相类似文章
  • PL/SQL获取汉字拼音和拼音首字母的功能函数
  • 如何在Oracle中建立汉字拼音对照表
  • 如何取得汉字的区位码
  • Linux版智能陈桥五笔拼音输入法发布
  • 小学不应“淡化”汉语拼音教学
  • 小学淡化拼音教育 大学过分重视英语
  • 办公技巧:自制拼音音标工具栏
  • 关于《直接拼音英语入门》教材的实践与思考
  • 高考语文拼音训练题精编
  • 小学不应“淡化”汉语拼音教学
  • 在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com