用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c#代码库

C#生成拼音简码

2012-10-08 作者: 神马举报

[c#]代码库

///
/// 生成拼音简码
///
/// Unicode编码字符串
/// 拼音简码:string
public static string GetPinyinCode ( string unicodeString )
{
	int i = 0;
	ushort key = 0;
	string strResult = string.Empty; //创建两个不同的encoding对象
	Encoding unicode = Encoding.Unicode;
//创建GBK码对象
	Encoding gbk = Encoding.GetEncoding ( 936 );
//将unicode字符串转换为字节
	byte[] unicodeBytes = unicode.GetBytes ( unicodeString );
//再转化为GBK码
	byte[] gbkBytes = Encoding.Convert ( unicode, gbk, unicodeBytes );
	while ( i < gbkBytes.Length )
	{
//如果为数字\字母\其他ASCII符号
		if ( gbkBytes <= 127 )
		{
			strResult = strResult + ( char ) gbkBytes;
			i++;
		}
		#region 否则生成汉字拼音简码,取拼音首字母
		else
		{
			key = ( ushort ) ( gbkBytes * 256 + gbkBytes[i + 1] );
			if ( key >= '\uB0A1' && key <= '\uB0C4' )
			{
				strResult = strResult + "A";
			}
			else if ( key >= '\uB0C5' && key <= '\uB2C0' )
			{
				strResult = strResult + "B";
			}
			else if ( key >= '\uB2C1' && key <= '\uB4ED' )
			{
				strResult = strResult + "C";
			}
			else if ( key >= '\uB4EE' && key <= '\uB6E9' )
			{
				strResult = strResult + "D";
			}
			else if ( key >= '\uB6EA' && key <= '\uB7A1' )
			{
				strResult = strResult + "E";
			}
			else if ( key >= '\uB7A2' && key <= '\uB8C0' )
			{
				strResult = strResult + "F";
			}
			else if ( key >= '\uB8C1' && key <= '\uB9FD' )
			{
				strResult = strResult + "G";
			}
			else if ( key >= '\uB9FE' && key <= '\uBBF6' )
			{
				strResult = strResult + "H";
			}
			else if ( key >= '\uBBF7' && key <= '\uBFA5' )
			{
				strResult = strResult + "J";
			}
			else if ( key >= '\uBFA6' && key <= '\uC0AB' )
			{
				strResult = strResult + "K";
			}
			else if ( key >= '\uC0AC' && key <= '\uC2E7' )
			{
				strResult = strResult + "L";
			}
			else if ( key >= '\uC2E8' && key <= '\uC4C2' )
			{
				strResult = strResult + "M";
			}
			else if ( key >= '\uC4C3' && key <= '\uC5B5' )
			{
				strResult = strResult + "N";
			}
			else if ( key >= '\uC5B6' && key <= '\uC5BD' )
			{
				strResult = strResult + "O";
			}
			else if ( key >= '\uC5BE' && key <= '\uC6D9' )
			{
				strResult = strResult + "P";
			}
			else if ( key >= '\uC6DA' && key <= '\uC8BA' )
			{
				strResult = strResult + "Q";
			}
			else if ( key >= '\uC8BB' && key <= '\uC8F5' )
			{
				strResult = strResult + "R";
			}
			else if ( key >= '\uC8F6' && key <= '\uCBF9' )
			{
				strResult = strResult + "S";
			}
			else if ( key >= '\uCBFA' && key <= '\uCDD9' )
			{
				strResult = strResult + "T";
			}
			else if ( key >= '\uCDDA' && key <= '\uCEF3' )
			{
				strResult = strResult + "W";
			}
			else if ( key >= '\uCEF4' && key <= '\uD188' )
			{
				strResult = strResult + "X";
			}
			else if ( key >= '\uD1B9' && key <= '\uD4D0' )
			{
				strResult = strResult + "Y";
			}
			else if ( key >= '\uD4D1' && key <= '\uD7F9' )
			{
				strResult = strResult + "Z";
			}
			else
			{
				strResult = strResult + "?";
			}
			i = i + 2;
		}
		#endregion
	}//end while
	return strResult;
}



网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...