获取汉字首字母

原创 2005年03月02日 11:23:00

  /// <summary>
  /// 获取汉字首字母。
  /// </summary>
  private string GetPYChar(char c)
  {
   int tmp= 65536 + GetASCII(c);
   if(tmp>=45217 && tmp<=45252)
    return "A";
   else if (tmp>=45253 && tmp<=45760)
    return "B";
   else if(tmp>=45761 && tmp<=46317)
    return "C";
   else if(tmp>=46318 && tmp<=46825)
    return "D";
   else if(tmp>=46826 && tmp<=47009) 
    return "E";
   else if(tmp>=47010 && tmp<=47296) 
    return "F";
   else if(tmp>=47297 && tmp<=47613) 
    return "G";
   else if(tmp>=47614 && tmp<=48118)
    return "H";
   else if(tmp>=48119 && tmp<=49061)
    return "J";
   else if(tmp>=49062 && tmp<=49323) 
    return "K";
   else if(tmp>=49324 && tmp<=49895) 
    return "L";
   else if(tmp>=49896 && tmp<=50370) 
    return "M";
   else if(tmp>=50371 && tmp<=50613) 
    return "N";
   else if(tmp>=50614 && tmp<=50621) 
    return "O";
   else if(tmp>=50622 && tmp<=50905)
    return "P";
   else if(tmp>=50906 && tmp<=51386) 
    return "Q";
   else if(tmp>=51387 && tmp<=51445) 
    return "R";
   else if(tmp>=51446 && tmp<=52217) 
    return "S";
   else if(tmp>=52218 && tmp<=52697) 
    return "T";
   else if(tmp>=52698 && tmp<=52979) 
    return "W";
   else if(tmp>=52980 && tmp<=53640) 
    return "X";
   else if(tmp>=53689 && tmp<=54480) 
    return "Y";
   else if(tmp>=54481 && tmp<=62289)
    return "Z";
   else //如果不是中文,则不处理
    return c.ToString();
   
  }

  /// <summary>
  /// 是否为双字节字符。
  /// </summary>
  public static bool IsTwoBytesChar(char chr)
  {
   string str =chr.ToString();
   // 使用中文支持编码
   Encoding ecode = Encoding.GetEncoding("GB18030");
   if (ecode.GetByteCount(str) == 2)
   {
    return true;
   }
   else
   {
    return false;
   }
  }

  /// <summary>
  /// 得到字符的ASCII码
  /// </summary>
  public static int GetASCII(char chr)
  {
   Encoding ecode = Encoding.GetEncoding("GB18030");
   Byte[] codeBytes = ecode.GetBytes(chr.ToString());
   if ( IsTwoBytesChar(chr) )
   {
    // 双字节码为高位乘256,再加低位
    // 该为无符号码,再减65536
    return (int)codeBytes[0] * 256 + (int)codeBytes[1] - 65536;
   }
   else
   {
    return (int)codeBytes[0];
   }
  }

用来获取汉字首字母的jar包

  • 2017年11月27日 18:24
  • 172KB
  • 下载

C# 获取汉字的拼音首字母和全拼(含源码)

C# 获取汉字的拼音首字母一种是把所有中文字符集合起来组成一个对照表;另一种是依照汉字在Unicode编码表中的排序来确定拼音的首字母。碰到多音字时就以常用的为准(第一种方法中可以自行更改,方法为手动...

获取汉字拼音的首字母(VB版)

  • 2009年04月29日 09:54
  • 14KB
  • 下载

C#使用微软语言包来获取中文汉字的拼音、拼音首字母、中文繁体

先下载微软Microsoft Visual Studio International Pack 1.0 SR1语言包: Microsoft Visual Studio International Pa...

获取汉字拼音的首字母(VB版)

  • 2013年10月12日 17:07
  • 25KB
  • 下载

c#获取汉字的首字母和拼音全

  • 2010年12月10日 14:52
  • 44KB
  • 下载

PostgreSQL获取汉字拼音首字母函数

本文转自http://blog.qdac.cc/?p=1281 --© 2014,swish,原版首发:http://blog.qdac.cc/?p=1281,自由使用,保留版权 CREATE OR...
  • vnsoft
  • vnsoft
  • 2015年10月17日 21:38
  • 1285
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获取汉字首字母
举报原因:
原因补充:

(最多只允许输入30个字)