C#获取单个字符的拼音声母

public class ConvertToPinYing

{

/// <summary>

/// 汉字转拼音缩写

/// </summary>

/// <param name="str">要转换的汉字字符串</param>

/// <returns>拼音缩写</returns>

public static string GetPYString(string str)

{

string tempStr = "";

if (!IsChina(str))

{

return str;

}

foreach (char c in str)

{

if ((int)c >= 33 && (int)c <= 126)

{//字母和符号原样保留

tempStr += c.ToString();

}

else

{//累加拼音声母

tempStr += GetPYChar(c.ToString());

}

}

return tempStr;

}

public static bool IsChina(string CString)

{

bool BoolValue = false;

for (int i = 0; i < CString.Length; i++)

{

if (Convert.ToInt32(Convert.ToChar(CString.Substring(i, 1))) < Convert.ToInt32(Convert.ToChar(128)))

{

BoolValue = false;

}

else

{

return BoolValue = true;

}

}

return BoolValue;

}

/// <summary>

/// 取单个字符的拼音声母

/// </summary>

/// <param name="c">要转换的单个汉字</param>

/// <returns>拼音声母</returns>

private static string GetPYChar(string c)

{

byte[] array = new byte[2];

array = System.Text.Encoding.Default.GetBytes(c);

int i = (short)(array[0] - ‘\0‘) * 256 + ((short)(array[1] - ‘\0‘));

if (i < 0xB0A1) return "*";

if (i < 0xB0C5) return "a";

if (i < 0xB2C1) return "b";

if (i < 0xB4EE) return "c";

if (i < 0xB6EA) return "d";

if (i < 0xB7A2) return "e";

if (i < 0xB8C1) return "f";

if (i < 0xB9FE) return "g";

if (i < 0xBBF7) return "h";

if (i < 0xBFA6) return "g";

if (i < 0xC0AC) return "k";

if (i < 0xC2E8) return "l";

if (i < 0xC4C3) return "m";

if (i < 0xC5B6) return "n";

if (i < 0xC5BE) return "o";

if (i < 0xC6DA) return "p";

if (i < 0xC8BB) return "q";

if (i < 0xC8F6) return "r";

if (i < 0xCBFA) return "s";

if (i < 0xCDDA) return "t";

if (i < 0xCEF4) return "w";

if (i < 0xD1B9) return "x";

if (i < 0xD4D1) return "y";

if (i < 0xD7FA) return "z";

return "*";

}

}

时间: 2024-10-07 07:55:41

C#获取单个字符的拼音声母的相关文章

获取单个字符尺寸和字符串尺寸

原文链接: http://my.oschina.net/ypimgt/blog/62354 一.获取字符串尺寸用:GetTextExtentPoint32. SIZE *se=new SIZE;CDC MemDC; //首先定义一个显示设备对象MemDC.SelectObject(font);......其它关于MemDC的操作GetTextExtentPoint32(MemDC.GetSafeHdc(),strText,wcslen(strText),<b>se</b>);//获

unit PYIndexUnit 汉字--&gt;拼音声母处理

如要收藏此博客请立即按热键 <CTRL> + D 此博客网址 http://www.cnblogs.com/delphixx 我的电子邮箱地址是: [email protected] 联系我邮件标题写上 "博客园" 字样 否则邮件自动删除 我建议像我这样喜欢用AutoHotkey和Delphi编程的年轻人多尝试 多搜搜.多编程.多归类.多收藏.多上传.多刻录.多交流分享 把所有有用的AutoHotkey和Delphi源代码实例等等编程资源都 分类保存到2.5寸移动硬盘中并且

php获取中文字符拼音首字母

//php获取中文字符拼音首字母 function getFirstCharter($str){ if(empty($str)){ return ''; } $fchar = ord($str{0}); if($fchar >= ord('A') && $fchar <= ord('z')){ return strtoupper($str{0}); } $s1=iconv('UTF-8','gb2312',$str); $s2=iconv('gb2312','UTF-8',$s

iOS 获取字符串中的单个字符

要取到单个字符,就要知道字符串的编码方式,这样才能够定位每个字符在内存中的位置.但是,iOS的字符串编码是不固定的,因此,需要设置一个统一的编码格式,将所有其他格式的字符串都转化为统一的格式,然后就可以根据编码规则取到单个字符了.在这里,使用UTF-8编码.UTF-8编码的使用范围比较广泛,客户端与服务器之间传输的数据大多以UTF-8编码. 关于UTF-8的详细说明可以Wiki下:UTF-8. 下图是UTF-8编码的格式: 开发的流程大概是: 将NSString字符串转成UTF-8格式的char

php获取中文字符拼音首字母 阿星小栈

//php获取中文字符拼音首字母 public function getFirstWord($str){ if(empty($str)){return '';} $fchar=ord($str{0}); if($fchar>=ord('A')&&$fchar<=ord('z')) return strtoupper($str{0}); $s1=iconv('UTF-8','gb2312',$str); $s2=iconv('gb2312','UTF-8',$s1); $s=$s

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

需求简介:最近的一个项目,想实现如下图所示的显示效果.很明显,如果能够获取对应的汉字词组中每个汉字的拼音首字母就可以实现了,如果是固定的几组汉字,人为的拼一下就可以 了,不过项目中有多处功能需要这个效果,并且事先也不知道对应的汉字是什么,所以就需要一个函数来完成这件事情了,根据网上查询的资料自己改进了一个 函数实现的效果,现分享如下. 1:阅读建议      如果你还没有看过我上一篇博文——MySQL数据库获取汉字拼音的首字母函数,强烈建议请先看一下,因为本篇博文是在她的基础之上写的,相关雷同的

字符串中单个字符的用法

我们使用字符串时经常要对字符串中单个字符进行处理,比如检测一个string对象是否包含空白,或者把string对象中的字母大写改为小写,查看某个特定字符是否出现,判断字符串是否为数字等等. 这类处理的关键是要获取字符本身.有时需要处理string对象中的每一个字符,另外一些时候则只需处理某个特定的字符,还有些时候遇到某个条件处理就要停下来. 在cctype头文件中定义了一组标准库函数处理字符串的工作. cctype头文件中的函数 isalnum(c)    当c是字母或数字时为真 isalpha

DOS功能调用——单个字符及字符串的输入输出

DOS系统功能调用步骤:    1. AH <- 功能号    2.指定寄存器放入该功能所要求的入口参数    3.执行int 21H    4.分析出口参数 单字符输入输出 01h键盘输入            AL=输入字符    02h显示器输出            DL=输出字符    07h直接控制台输入(无回显)    AL=输入字符    08键盘输入(无回显)        AL=输入字符======================汇编例子===================

C++学习45 流成员函数put输出单个字符 cin输入流详解 get()函数读入一个字符

在程序中一般用cout和插入运算符“<<”实现输出,cout流在内存中有相应的缓冲区.有时用户还有特殊的输出要求,例如只输出一个字符.ostream类除了提供上面介绍过的用于格式控制的成员函数外,还提供了专用于输出单个字符的成员函数put.如:    cout.put('a');调用该函数的结果是在屏幕上显示一个字符a.put函数的参数可以是字符或字符的ASCII代码(也可以是一个整型表达式).如    cout.put(65 + 32);也显示字符a,因为97是字符a的ASCII代码. 可以