asp.net获取中文汉字的首字母

/// <summary>
  /// 通过汉字区位码得到其首字母(小写)
  /// </summary>
  /// <param name="nCode">汉字编码</param>
  /// <returns></returns>
  public string FirstLetter(int nCode) {
   if (nCode >= 1601 && nCode < 1637) return "a";
   if (nCode >= 1637 && nCode < 1833) return "b";
   if (nCode >= 1833 && nCode < 2078) return "c";
   if (nCode >= 2078 && nCode < 2274) return "d";
   if (nCode >= 2274 && nCode < 2302) return "e";
   if (nCode >= 2302 && nCode < 2433) return "f";
   if (nCode >= 2433 && nCode < 2594) return "g";
   if (nCode >= 2594 && nCode < 2787) return "h";
   if (nCode >= 2787 && nCode < 3106) return "j";
   if (nCode >= 3106 && nCode < 3212) return "k";
   if (nCode >= 3212 && nCode < 3472) return "l";
   if (nCode >= 3472 && nCode < 3635) return "m";
   if (nCode >= 3635 && nCode < 3722) return "n";
   if (nCode >= 3722 && nCode < 3730) return "o";
   if (nCode >= 3730 && nCode < 3858) return "p";
   if (nCode >= 3858 && nCode < 4027) return "q";
   if (nCode >= 4027 && nCode < 4086) return "r";
   if (nCode >= 4086 && nCode < 4390) return "s";
   if (nCode >= 4390 && nCode < 4558) return "t";
   if (nCode >= 4558 && nCode < 4684) return "w";
   if (nCode >= 4684 && nCode < 4925) return "x";
   if (nCode >= 4925 && nCode < 5249) return "y";
   if (nCode >= 5249 && nCode < 5590) return "z";
   return "";
  }

///   <summary> 
  ///   判断是否为汉字 
  ///   </summary> 
  ///   <param   name="chrStr">待检测字符串</param> 
  ///   <returns>是汉字返回true</returns> 
  public bool IsChineseCharacters(string chrStr) {
   Regex CheckStr = new Regex("[\u4e00-\u9fa5]");
   return CheckStr.IsMatch(chrStr);
  }

/// <summary>
  /// 得到每个汉字的字首拼音码字母(小写)
  /// </summary>
  /// <param name="chrStr">输入字符串</param>
  /// <returns>返回结果</returns>
  private string ChangeByName(string chrStr) {
   string strHeadString = string.Empty;
   Encoding gb = System.Text.Encoding.GetEncoding("gb2312");
   for (int i = 0; i < chrStr.Length; i++) {
    //检测该字符是否为汉字
    if (!IsChineseCharacters(chrStr.Substring(i, 1))) {
     strHeadString += chrStr.Substring(i, 1);
     continue;
    }
    byte[] bytes = gb.GetBytes(chrStr.Substring(i, 1));
    string lowCode = System.Convert.ToString(bytes[0] - 0xA0, 16);
    string hightCode = System.Convert.ToString(bytes[1] - 0xA0, 16);
    int nCode = Convert.ToUInt16(lowCode, 16) * 100 + Convert.ToUInt16(hightCode, 16);      //得到区位码
    strHeadString += FirstLetter(nCode);
   }
   return strHeadString;
  }

asp.net获取中文汉字的首字母

时间: 2025-01-04 08:29:27

asp.net获取中文汉字的首字母的相关文章

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

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通过函数获取字符串汉字拼音首字母大写字符串

DELIMITER $$ DROP FUNCTION IF EXISTS `Fun_GetPY`$$ CREATE FUNCTION `HIS`.`Fun_GetPY` (in_string VARCHAR(21845)) RETURNS VARCHAR(21845) CHARSET utf8 BEGIN #截取字符串,每次做截取后的字符串存放在该变量中,初始为函数参数in_string值 DECLARE tmp_str VARCHAR(21845) CHARSET gbk DEFAULT ''

好用的获取中文字符串拼音首字母的方法(亲测)

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',$s1); $s=$s2==$str?$s1:$str; $as

php获取汉字拼音首字母的方法

现实中我们经常看到这样的说明,排名不分先后,按姓名首字母进行排序.这是中国人大多数使用的排序方法.那么在php程序中该如何操作呢? 下面就分享一下在php程序中获取汉字拼音的首字母的方法,在网上搜到的大多数是有问题的,这个可是经过小编实践应用过的,真的可以使用的哦. //php获取中文字符拼音首字母 function getFirstCharter($str){  if(empty($str)){return '';}  $fchar=ord($str{0});  if($fchar>=ord(

Android -- 获取汉字的首字母

转换                                                                                             获取一个汉字的拼音首字母. GB码两个字节分别减去160,转换成10进制码组合就可以得到区位码例如汉字“你”的GB码是0xC4/0xE3,分别减去0xA0(160)就是0x24/0x430x24转成10进制就是36,0x43是67,那么它的区位码就是3667,在对照表中读音为‘n’. XML布局       

获取汉字的首字母(转)

转换                                                                                             获取一个汉字的拼音首字母. GB码两个字节分别减去160,转换成10进制码组合就可以得到区位码例如汉字“你”的GB码是0xC4/0xE3,分别减去0xA0(160)就是0x24/0x430x24转成10进制就是36,0x43是67,那么它的区位码就是3667,在对照表中读音为‘n’. XML布局       

取汉字拼音首字母的方法

近期在做一个按拼音首字母排序的ListView须要取汉字拼音首字母,Deomo下载地址:http://download.csdn.net/detail/u014649598/8494777,做了例如以下的方法: 代码例如以下: package com.android.pinyin; import java.io.UnsupportedEncodingException; import android.app.Activity; import android.os.Bundle; import a

C# 获取汉字拼音首字母

最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精   本节探讨C#获取汉字拼音首字母的方法: 代码类东西,直接上代码: /// <summary> /// 在指定的字符串列表CnStr中检索符合拼音索引字符串 /// </summary> /// <param name="CnStr">汉字字符串</param> /// <returns&