wp手机开发之获取汉字拼音的首字母

今天介绍一种新的方法,使用codeplex上开源的项目GB2312 for Silverlight.

1.创建一个项目,命名为mangoGB2312

2.将GB2312 for Silverlight项目中的两个文件都拷贝至项目目录GB2312下,并且修改GB2312Encoding.cs的命名空间为mangoGB2312.GB2312,如下图所示

开发之获取汉字拼音的首字母 -js获取汉字拼音首字母">

3.将gb2312.bin的生成方式修改为嵌入式资源,如下图

4.编写提取汉字首字母的函数,我已经封装到一个帮助类里面了,代码如下:

 

 

 代码如下 复制代码

public class FirstLetterHelper
{
    /// <summary>
    /// 得到一个汉字的拼音第一个字母,如果是一个英文字母则直接返回大写字母
    /// </summary>
    /// <param name="CnChar">单个汉字</param>
    /// <returns>单个大写字母</returns>
    public static string GetCharSpellCode(string CnChar)
    {
        long iCnChar;
        GB2312Encoding encoder = new GB2312Encoding();
        byte[] ZW = encoder.GetBytes(CnChar);

        //如果是字母,则直接返回
        if (ZW.Length == 1)
        {
            return CnChar.ToUpper();
        }
        else
        {
            // get the array of byte from the single char
            int i1 = (short)(ZW[0]);
            int i2 = (short)(ZW[1]);
            iCnChar = i1 * 256 + i2;
        }

        // iCnChar match the constant
        if ((iCnChar >= 45217) && (iCnChar <= 45252))
        {
            return "A";
        }
        else if ((iCnChar >= 45253) && (iCnChar <= 45760))
        {
            return "B";
        }
        else if ((iCnChar >= 45761) && (iCnChar <= 46317))
        {
            return "C";
        }
        else if ((iCnChar >= 46318) && (iCnChar <= 46825))
        {
            return "D";
        }
        else if ((iCnChar >= 46826) && (iCnChar <= 47009))
        {
            return "E";
        }
        else if ((iCnChar >= 47010) && (iCnChar <= 47296))
        {
            return "F";
        }
        else if ((iCnChar >= 47297) && (iCnChar <= 47613))
        {
            return "G";
        }
        else if ((iCnChar >= 47614) && (iCnChar <= 48118))
        {
            return "H";
        }
        else if ((iCnChar >= 48119) && (iCnChar <= 49061))
        {
            return "J";
        }
        else if ((iCnChar >= 49062) && (iCnChar <= 49323))
        {
            return "K";
        }
        else if ((iCnChar >= 49324) && (iCnChar <= 49895))
        {
            return "L";
        }
        else if ((iCnChar >= 49896) && (iCnChar <= 50370))
        {
            return "M";
        }

        else if ((iCnChar >= 50371) && (iCnChar <= 50613))
        {
            return "N";
        }
        else if ((iCnChar >= 50614) && (iCnChar <= 50621))
        {
            return "O";
        }
        else if ((iCnChar >= 50622) && (iCnChar <= 50905))
        {
            return "P";
        }
        else if ((iCnChar >= 50906) && (iCnChar <= 51386))
        {
            return "Q";
        }
        else if ((iCnChar >= 51387) && (iCnChar <= 51445))
        {
            return "R";
        }
        else if ((iCnChar >= 51446) && (iCnChar <= 52217))
        {
            return "S";
        }
        else if ((iCnChar >= 52218) && (iCnChar <= 52697))
        {
            return "T";
        }
        else if ((iCnChar >= 52698) && (iCnChar <= 52979))
        {
            return "W";
        }
        else if ((iCnChar >= 52980) && (iCnChar <= 53640))
        {
            return "X";
        }
        else if ((iCnChar >= 53689) && (iCnChar <= 54480))
        {
            return "Y";
        }
        else if ((iCnChar >= 54481) && (iCnChar <= 55289))
        {
            return "Z";
        }
        else return ("#");
    }
}

5.测试程序,将模拟器中的键盘勾选上中文输入法,如下图

6.输入一些文字后,点击GET就可以得到汉字的首字母了

 

时间: 2024-08-21 07:44:17

wp手机开发之获取汉字拼音的首字母的相关文章

MySQL数据库获取汉字拼音的首字母函数

原文:MySQL数据库获取汉字拼音的首字母函数 需求简介:最近的一个项目,想实现如下图所示的显示效果.很明显,如果能够获取对应的汉字词组的拼音首字母就可以实现了,如果是固定的几个汉字,人为的拼一下就可以了,不过项目中有多处功能是需要这个效果的,并且事先也不知道对应的汉字是什么,所以就需要一个函数来完成这件事情了,根据网上查询的资料自己改进了一个函数实现的效果,现分享如下. 1:测试环境      1-1:测试工具的信息           1-2:测试数据库的信息      2:测试数据    

ASP.NET 根据汉字获取汉字拼音的首字母(含多音字)_实用技巧

在很多时候,我们需要将汉字的拼音首字母存储到数据库,以便我们能通过首字母进行快速的查询,常见的有百度搜索,你只要输入拼音的首字母,就会出现相关的搜索的关键词,再比如一些办公系统中,查询一个人的姓名,为了简单方便,只输这个人的名字的首字母,就能快速检索. 话不多说,代码分享给大家: #region 获取汉字转换拼音 首字母 public string MkPinyinString(string HanZiStr) //获取汉字字符串的拼音首字母,含多音字 { int i, j, k, m; str

asp.net 获得汉字拼音的首字母

asp教程.net 获得汉字拼音的首字母 提供一个经典的获得汉字拼音的首字母函数,希望对各位的有用. public string GetPYChar(string c)         {             byte[] array = new byte[2];             array = System.Text.Encoding.Default.GetBytes(c);             int i = (short)(array[0] - '') * 256 + ((

在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 getS

php获取汉字拼音首字母的函数(真正可以使用的

现实中我们经常看到这样的说明,排名不分先后,按姓名首字母进行排序.这是中国人大多数使用的排序方法.那么在php程序中该如何操作呢?下面就分享一下在php程序中获取汉字拼音的首字母的方法,在网上搜到的大多数是有问题的,这个可是经过作者实践应用过的,真的可以使用的哦. //php获取中文字符拼音首字母 function getFirstCharter($str){ if(empty($str)){return '';} $fchar=ord($str{0}); if($fchar>=ord('A')

php获取汉字拼音首字母的方法_php技巧

现实中我们经常看到这样的说明,排名不分先后,按姓名首字母进行排序.这是中国人大多数使用的排序方法.那么在php程序中该如何操作呢? 下面就分享一下在php程序中获取汉字拼音的首字母的方法,在网上搜到的大多数是有问题的,这个可是经过小编实践应用过的,真的可以使用的哦. //php获取中文字符拼音首字母 function getFirstCharter($str){ if(empty($str)){return '';} $fchar=ord($str{0}); if($fchar>=ord('A'

java字符串获取汉字拼音首字母的实现方法

问题描述 java字符串获取汉字拼音首字母的实现方法 网上有很多方法可以通过汉字来获取汉字拼音的首字母,我要实现的是这个字符串当中 还包含了特殊符号,比如字符串为:省辖市属(地区.州.直辖市区),想要获得最终 结果为:SXSS(DQZZXSQ),请各位大侠支招 解决方案 按描述你对获取汉字首字母应该没问题, 对含特殊符号的字符串,可先提取其中的汉字,然后再获取拼音啊 public static String getChineseCode(String retCode){ Pattern patt

DB2中创建一个获取汉字拼音首字母的SQL函数

有些时候我们会有这样的需求,要求使用字母从a至z对一组数据进行索引,如果数据的格式全部是半角的英文则很容易实现,但若是对一组中文数据进行索引则会引起一点小的麻烦,数据在录入数据库的时候可能并没有指定一个索引字母,这就要求应用程序可以自动生成用于索引的信息. 一般对于中文数据的索引,采用词组的首汉字拼音的首字母,例如: 词组 索引字母 --- ----- 熊猫 x 白暨豚 b 藏野驴 z 在DB2中并没有提供相应的函数可以取得汉字拼音的首字母,我们可以利用数据库针对中文字符集的排序功能创建一个这样

Android程序开发之获取汉字的首字母_Android

获取一个汉字的拼音首字母. GB码两个字节分别减去160,转换成10进制码组合就可以得到区位码例如汉字"你"的GB码是0xC4/0xE3,分别减去0xA0(160)就是0x24/0x430x24转成10进制就是36,0x43是67,那么它的区位码就是3667,在对照表中读音为'n'. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&quo