c#取得汉字的拼音的首字母

今天在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;
}

时间: 2024-11-02 14:45:40

c#取得汉字的拼音的首字母的相关文章

asp.net 汉字转换拼音及首字母实现代码_实用技巧

Default.aspx页面 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:

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

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

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

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

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

今天介绍一种新的方法,使用codeplex上开源的项目GB2312 for Silverlight. 1.创建一个项目,命名为mangoGB2312 2.将GB2312 for Silverlight项目中的两个文件都拷贝至项目目录GB2312下,并且修改GB2312Encoding.cs的命名空间为mangoGB2312.GB2312,如下图所示 开发之获取汉字拼音的首字母 -js获取汉字拼音首字母"> 3.将gb2312.bin的生成方式修改为嵌入式资源,如下图 4.编写提取汉字首字母

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#窗体-C#怎么根据拼音得到首字母

问题描述 C#怎么根据拼音得到首字母 做成索引,想得到姓名拼音的首字母完成.做的是window窗体程序 求各位哥哥姐姐帮帮本菜鸟 解决方案 是字符串,你直接截取第一个字符不就成了,在C#里还有个linq的东西,这个也可以完成的,你可以查查: 如果截取字符串不会就看api里的String就可以了. 如果回答对你有帮助,请采纳 解决方案二: substring(0,1)

pl sql 数据库存的汉字, 怎么根据拼音的首字母查询

问题描述 详细如下:ID pactname 1 上海机构 2 北京机构 3 山西机构 4 湖北机构我现在在想要查询pactname的第一个字母是 S 的,就可以把" 上海机构"" 陕西机构"查询出来,sql怎么写? 解决方案 创建一个根据汉字获取拼音的oracle 方法,然后在SQL语句中先将汉字翻译成拼音,再用模糊匹配查询就可以了.CREATE OR REPLACE FUNCTION get_pinyin(P_NAME IN VARCHAR2) RETURN VA

在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

用字典提取汉语的拼音的首字母

汉语|拼音 <%function getpychar(char)tmp=65536+asc(char)if(tmp>=45217 and tmp<=45252) or left(char,1)="a" or left(char,1)="A" then getpychar= "A"if(tmp>=45253 and tmp<=45760) or left(char,1)="b" or left(ch