C# 获取汉字的拼音首字母
/// <summary>
/// 在指定的字符串列表CnStr中检索符合拼音索引字符串
/// </summary>
/// <param name="CnStr">汉字字符串</param>
/// <returns>相对应的汉语拼音首字母串</returns>
public static string GetSpellCode(string CnStr) {
string strTemp="";
int iLen=CnStr.Length;
int i=0;
for (i=0;i<=iLen-1;i++) {
strTemp+=GetCharSpellCode(CnStr.Substring(i,1));
}
return strTemp;
}
/// <summary>
/// 得到一个汉字的拼音第一个字母,如果是一个英文字母则直接返回大写字母
/// </summary>
/// <param name="CnChar">单个汉字</param>
/// <returns>单个大写字母</returns>
private static string GetCharSpellCode(string CnChar) {
long iCnChar;
byte[] ZW = System.Text.Encoding.Default.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 ("?");
}
C# 获取汉字的拼音首字母的更多相关文章
- (转载)delphi中获取汉字的拼音首字母
delphi中获取汉字的拼音首字母1.py: array[216..247] of string = ({216}'CJWGNSPGCGNESYPB' + 'TYYZDXYKYGTDJNMJ' + ' ...
- sql获取汉字的拼音首字母的函数
ql获取汉字的拼音首字母 if exists (select * from sysobjects where id = object_id(N'[fn_ChineseToSpell]') and ...
- C# 获取汉字的拼音首字母和全拼(含源码)
C# 获取汉字的拼音首字母 一种是把所有中文字符集合起来组成一个对照表:另一种是依照汉字在Unicode编码表中的排序来确定拼音的首字母.碰到多音字时就以常用的为准(第一种方法中可以自行更改,方法为手 ...
- 获取汉字的拼音首字母--pinyin
var pinyin = (function (){ var Pinyin = function (ops){ this.initialize(ops); }, options = { checkPo ...
- sql获取汉字的拼音首字母
if exists (select * from sysobjects where id = object_id(N'[fn_ChineseToSpell]') and xtype in (N'FN' ...
- SqlServer 笔记二 获取汉字的拼音首字母
一.该函数传入字符串,返回数据为:如果为汉字字符,返回该字符的首字母,如果为非汉字字符,则返回本身. 二.用到的知识点:汉字对应的UNICODE值,汉字的排序规则. 三.数据库函数: )) ) AS ...
- SqlServer 获取汉字的拼音首字母
一.该函数传入字符串,返回数据为:如果为汉字字符,返回该字符的首字母,如果为非汉字字符,则返回本身.二.用到的知识点:汉字对应的UNICODE值,汉字的排序规则.三.数据库函数: CREATE FUN ...
- C#获取包括一二级汉字的拼音 首字母
C#获取包括一二级汉字的拼音 首字母 声母 汉字拼音转换 using System; using System.Collections.Generic; using System.Linq; usin ...
- js汉字转拼音首字母
js汉字转拼音首字母 2018-04-09 阅读 1018 收藏 1 原链:segmentfault.com 分享到: 前端必备图书<JavaScript设计模式与开发实践> > ...
随机推荐
- 3.1html学习之列表
一.含义: ul:unorder list ol:order list li:list item dl:definition list dt:definition term dd:definition ...
- c#基础--常量(const),只读字段(readonly)
1.0:常量 常量被关键字const 所修饰 我们来看看常量的demo class Program { static void Main(string[] args) { const string n ...
- Clairewd’s message
Problem Description Clairewd is a member of FBI. After several years concealing in BUPT, she interce ...
- 1.5.2 什么是Analyzer--分析器
分析器检查字段的文本,然后生成一个token流.在schema.xml中,分析器作为<fieldType>的一个子元素.在普通的使用当中,只有字段类型solr.TextField使用分析器 ...
- framework&&library's root
框架和文件集合的路径应该是相对路径而不是绝对路径 写法如下图所示:
- iOS 重力感应 学习1 陀螺仪 水平仪 指南针
小球可以随着重力感应 四处乱撞. 放大了坐标位移 就可以看见小球动了. 然后规定小球的路径 当滑到中间时候 弹出一张图片 作为提示. 我做了一个小demo 效果不错哦 CMMotionManager ...
- MVC框架 - 异常处理
在ASP.NET中,错误处理是通过使用标准的尝试捕捉方法或使用应用程序事件.ASP.NET MVC附带内置支持,被称为异常过滤器功能异常处理.在这里我们要学习两种方法:一个是定义HandleError ...
- 获取JDK动态代理/CGLIB代理对象代理的目标对象。
问题描述:: 我现在遇到个棘手的问题,要通过spring托管的service类保存对象,这个类是通过反射拿到的,经过实验发现这个类只能反射取得sservice实现了接口的方法,而extends类的方法 ...
- java程序执行内存处理过程
我们学习知识,不仅要知其然,还要知其所以然,你的工资必定和你学习的深度成正比. 在以往.net的学习过程中,我们了解了怎么去开发一个程序,并有了一定的开发经验,但是一个程序具体是怎么在内存中运行的呢? ...
- 改成 否“依然报LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”问题的解决
LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 . 这个bug说实话,还是挺让人蛋疼的!!! 问题发生原因: 我这里能跑2013+opencv24 ...