//将指定字符串中的汉字转换为拼音缩写,其中非汉字保留为原字符。
public string GetPinYin(string text)
{
char pinyin;
byte[] array;
System.Text.StringBuilder sb = new System.Text.StringBuilder(text.Length);
foreach(char c in text)
{
pinyin = c;
array = System.Text.Encoding.Default.GetBytes(new char[]{c});
if(array.Length == 2)
{
int i = array[0] * 0x100 + array[1];
if(i < 0xB0A1) pinyin = c; else
if(i < 0xB0C5) pinyin = 'a'; else
if(i < 0xB2C1) pinyin = 'b'; else
if(i < 0xB4EE) pinyin = 'c'; else
if(i < 0xB6EA) pinyin = 'd'; else
if(i < 0xB7A2) pinyin = 'e'; else
if(i < 0xB8C1) pinyin = 'f'; else
if(i < 0xB9FE) pinyin = 'g'; else
if(i < 0xBBF7) pinyin = 'h'; else
if(i < 0xBFA6) pinyin = 'g'; else
if(i < 0xC0AC) pinyin = 'k'; else
if(i < 0xC2E8) pinyin = 'l'; else
if(i < 0xC4C3) pinyin = 'm'; else
if(i < 0xC5B6) pinyin = 'n'; else
if(i < 0xC5BE) pinyin = 'o'; else
if(i < 0xC6DA) pinyin = 'p'; else
if(i < 0xC8BB) pinyin = 'q'; else
if(i < 0xC8F6) pinyin = 'r'; else
if(i < 0xCBFA) pinyin = 's'; else
if(i < 0xCDDA) pinyin = 't'; else
if(i < 0xCEF4) pinyin = 'w'; else
if(i < 0xD1B9) pinyin = 'x'; else
if(i < 0xD4D1) pinyin = 'y'; else
if(i < 0xD7FA) pinyin = 'z';
}
sb.Append(pinyin);
}
return sb.ToString();
}
附注:本文代码可能只适用于gb2312或兼容gb2312的中文编码标准。
参考:《信息技术信息交换用汉字编码字符集基本集的扩充》
分享到:
相关推荐
C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
(c#)字符串转换成字符数组 字符串转换成int 数组
asp.net中文字符串转换成拼音,string Convert(string chs, string separator, bool initialCap),chs为需转换的字符串,separator为连接拼音之间的分隔符(可以为空),initialCap为指定是否将首字母大写
中文匹配C#中文文本匹配,字符串匹配,中文词语匹配,计算2个句子相似度 C#中文文本匹配,字符串匹配,中文词语匹配,计算多个句子相似度 C#中文文本匹配,字符串匹配,中文词语匹配,计算2个句子相似度 C#中文文本...
本文实例讲述了C#实现将字符串转换成日期格式的方法。分享给大家供大家参考。具体实现方法如下: 代码如下:string s = ... 您可能感兴趣的文章:C#中判断、验证字符串是否为日期格式的实现代码C# string
本文实例讲述了C#实现实体类与字符串互相转换的方法。分享给大家供大家参考。具体实现方法如下: using System; using System.Collections.Generic; using System.Text; namespace PackDLL.Data.ConvertData { ///...
输入汉字字符串,然后点击OK,输出字符串拼音缩写,若字符串中有英文字母,则英文字母仍为英文字母。
C# 字符串转换成数学计算公式(字符串转数学计算公式)
本文实例讲述了C#判断字符串是否存在字母及字符串中字符的替换的方法。分享给大家供大家参考。具体实现方法如下: 首先要添加对命名空间“using System.Text.RegularExpressions;”的引用 下面以一个字符串为例: ...
C# 将整型数组元素转换为字符串.别忘了给评分!
c#中 base64字符串与普通字符串互转,转成 Base64 形式的...
C#字符串删除指定字符串|C#字符串删除子字符串
C#中,字符串传为16进制是非常使用的算法,如在一些特定是情况下,我们无法储存或传递中文字符串,这时候可以将他转为16进制使用,需要时再将其逆转回来。
java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字...
C#中字符串的格式化及转换成数值的方法,自己总结,并参考网上介绍。希望对大家有所帮助
C#中字符串转换为计算公式-并进行计算的方法(自定义公式的计算)
C# ASCII码和字符串互转
c#字符串转换ascII码,支持2,8,10,16进制
中文字符转换为拼音首字母的C#程序,中文字符转换为拼音首字母的C#程序。中文字符转换为拼音首字母的C#程序。