惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
V
Vulnerabilities – Threatpost
W
WeLiveSecurity
P
Privacy International News Feed
Cyberwarzone
Cyberwarzone
C
Cyber Attacks, Cyber Crime and Cyber Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
Intezer
The Last Watchdog
The Last Watchdog
V2EX - 技术
V2EX - 技术
Schneier on Security
Schneier on Security
B
Blog RSS Feed
N
News and Events Feed by Topic
T
The Blog of Author Tim Ferriss
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
云风的 BLOG
云风的 BLOG
L
Lohrmann on Cybersecurity
小众软件
小众软件
T
Threat Research - Cisco Blogs
F
Full Disclosure
P
Palo Alto Networks Blog
Latest news
Latest news
Scott Helme
Scott Helme
T
Tailwind CSS Blog
M
MIT News - Artificial intelligence
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Recent Announcements
Recent Announcements
Hacker News - Newest:
Hacker News - Newest: "LLM"
H
Hacker News: Front Page
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
The Register - Security
The Register - Security
J
Java Code Geeks
The Cloudflare Blog
美团技术团队
博客园 - 【当耐特】
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Tor Project blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Security Latest
Security Latest
S
Securelist
Webroot Blog
Webroot Blog
博客园 - 三生石上(FineUI控件)
P
Privacy & Cybersecurity Law Blog
N
Netflix TechBlog - Medium
C
Check Point Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
H
Help Net Security
I
InfoQ
L
LINUX DO - 热门话题

博客园 - lrary

JavaScript经典技巧 - lrary - 博客园 动态添加ASP.NET控件并绑定处理事件一例 - lrary - 博客园 脚本收藏 - lrary - 博客园 一些sql语句的详细解释[转] 特殊的DataGrid的绑定 - lrary - 博客园 纯脚本搞掂DataGrid表表头不动,表身滚动。(转摘) - lrary - 博客园 检验密码强度的JS类 - lrary - 博客园 数据库设计规范 V2.0 SQL语句特---殊统计(1) DataGrid 多行 DataGrid怎么产生一个分类的题头 AJAX 在.net的应用 sql怎么使用外连接 Asp.NET程序中常用的三十三种代码 检测含有中文字符串的实际长度 认识ASP.NET配置文件Web.config Asp.net(C#)实现验证码功能 给Repeater、Datalist和Datagrid增加自动编号列 查找和统计页面上控件
根据区位得到汉字拼音首字母(c#)
lrary · 2006-05-06 · via 博客园 - lrary

using System;
using System.Text;

namespace Code
{
 /// <summary>
 /// SearchCode 的摘要说明。
 /// </summary>
 public class SearchCode
 {
  public SearchCode()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }
/// <summary>
/// 返回给定字符串的首字母
/// </summary>
/// <param name="IndexTxt">字符串</param>
/// <returns></returns>
  public String IndexCode(String IndexTxt)
  {
   String _Temp=null;
   for(int i=0;i<IndexTxt.Length;i++)
    _Temp = _Temp + GetOneIndex( IndexTxt.Substring(i,1) );
   return _Temp;
  }

/// <summary>
/// 返回给定字符串的第一个字的首字母
/// </summary>
/// <param name="str">字符串</param>
/// <returns></returns>
public String OneIndexCode(String str)
{
return GetOneIndex( str.Substring(0,1));
}

  //得到单个字符的首字母
  private String GetOneIndex(String OneIndexTxt)
  {
   if(Convert.ToChar(OneIndexTxt)>=0 && Convert.ToChar(OneIndexTxt)<256)
    return OneIndexTxt.ToUpper();
   else
   {
    Encoding gb2312 = Encoding.GetEncoding("gb2312");
    byte[] unicodeBytes = Encoding.Unicode.GetBytes(OneIndexTxt);
    byte[] gb2312Bytes = Encoding.Convert(Encoding.Unicode, gb2312, unicodeBytes);
    try
    {
     return GetX(Convert.ToInt32(
      String.Format("{0:D2}",Convert.ToInt16(gb2312Bytes[0])-160)
      + String.Format("{0:D2}",Convert.ToInt16(gb2312Bytes[1])-160)
      ));
    }
    catch(Exception ex)
    {
     return "";
    }
   }

  }

/// <summary>
/// 根据区位得到汉字首字母
/// </summary>
/// <param name="GBCode">区位码</param>
/// <returns></returns>
  private String GetX(int GBCode)
  {
   if(GBCode >= 1601 && GBCode < 1637)return "A";
   if(GBCode >= 1637 && GBCode < 1833)return "B";
   if(GBCode >= 1833 && GBCode < 2078)return "C";
   if(GBCode >= 2078 && GBCode < 2274)return "D";
   if(GBCode >= 2274 && GBCode < 2302)return "E";
   if(GBCode >= 2302 && GBCode < 2433)return "F";
   if(GBCode >= 2433 && GBCode < 2594)return "G";
   if(GBCode >= 2594 && GBCode < 2787)return "H";
   if(GBCode >= 2787 && GBCode < 3106)return "J";
   if(GBCode >= 3106 && GBCode < 3212)return "K";
   if(GBCode >= 3212 && GBCode < 3472)return "L";
   if(GBCode >= 3472 && GBCode < 3635)return "M";
   if(GBCode >= 3635 && GBCode < 3722)return "N";
   if(GBCode >= 3722 && GBCode < 3730)return "O";
   if(GBCode >= 3730 && GBCode < 3858)return "P";
   if(GBCode >= 3858 && GBCode < 4027)return "Q";
   if(GBCode >= 4027 && GBCode < 4086)return "R";
   if(GBCode >= 4086 && GBCode < 4390)return "S";
   if(GBCode >= 4390 && GBCode < 4558)return "T";
   if(GBCode >= 4558 && GBCode < 4684)return "W";
   if(GBCode >= 4684 && GBCode < 4925)return "X";
   if(GBCode >= 4925 && GBCode < 5249)return "Y";
   if(GBCode >= 5249 && GBCode <= 5589)return "Z";
   if(GBCode >= 5601 && GBCode <= 8794)
   {
    String CodeData = "cjwgnspgcenegypbtwxzdxykygtpjnmjqmbsgzscyjsyyfpggbzgydywjkgaljswkbjqhyjwpdzlsgmr"
     + "ybywwccgznkydgttngjeyekzydcjnmcylqlypyqbqrpzslwbdgkjfyxjwcltbncxjjjjcxdtqsqzycdxxhgckbphffss"
     + "pybgmxjbbyglbhlssmzmpjhsojnghdzcdklgjhsgqzhxqgkezzwymcscjnyetxadzpmdssmzjjqjyzcjjfwqjbdzbjgd"
     + "nzcbwhgxhqkmwfbpbqdtjjzkqhylcgxfptyjyyzpsjlfchmqshgmmxsxjpkdcmbbqbefsjwhwwgckpylqbgldlcctnma"
     + "eddksjngkcsgxlhzaybdbtsdkdylhgymylcxpycjndqjwxqxfyyfjlejbzrwccqhqcsbzkymgplbmcrqcflnymyqmsqt"
     + "rbcjthztqfrxchxmcjcjlxqgjmshzkbswxemdlckfsydsglycjjssjnqbjctyhbftdcyjdgwyghqfrxwckqkxebpdjpx"
     + "jqsrmebwgjlbjslyysmdxlclqkxlhtjrjjmbjhxhwywcbhtrxxglhjhfbmgykldyxzpplggpmtcbbajjzyljtyanjgbj"
     + "flqgdzyqcaxbkclecjsznslyzhlxlzcghbxzhznytdsbcjkdlzayffydlabbgqszkggldndnyskjshdlxxbcghxyggdj"
     + "mmzngmmccgwzszxsjbznmlzdthcqydbdllscddnlkjyhjsycjlkohqasdhnhcsgaehdaashtcplcpqybsdmpjlpcjaql"
     + "cdhjjasprchngjnlhlyyqyhwzpnccgwwmzffjqqqqxxaclbhkdjxdgmmydjxzllsygxgkjrywzwyclzmcsjzldbndcfc"
     + "xyhlschycjqppqagmnyxpfrkssbjlyxyjjglnscmhcwwmnzjjlhmhchsyppttxrycsxbyhcsmxjsxnbwgpxxtaybgajc"
     + "xlypdccwqocwkccsbnhcpdyznbcyytyckskybsqkkytqqxfcwchcwkelcqbsqyjqcclmthsywhmktlkjlychwheqjhtj"
     + "hppqpqscfymmcmgbmhglgsllysdllljpchmjhwljcyhzjxhdxjlhxrswlwzjcbxmhzqxsdzpmgfcsglsdymjshxpjxom"
     + "yqknmyblrthbcftpmgyxlchlhlzylxgsssscclsldclepbhshxyyfhbmgdfycnjqwlqhjjcywjztejjdhfblqxtqkwhd"
     + "chqxagtlxljxmsljhdzkzjecxjcjnmbbjcsfywkbjzghysdcpqyrsljpclpwxsdwejbjcbcnaytmgmbapclyqbclzxcb"
     + "nmsggfnzjjbzsfqyndxhpcqkzczwalsbccjxpozgwkybsgxfcfcdkhjbstlqfsgdslqwzkxtmhsbgzhjcrglyjbpmljs"
     + "xlcjqqhzmjczydjwbmjklddpmjegxyhylxhlqyqhkycwcjmyhxnatjhyccxzpcqlbzwwwtwbqcmlbmynjcccxbbsnzzl"
     + "jpljxyztzlgcldcklyrzzgqtgjhhgjljaxfgfjzslcfdqzlclgjdjcsnclljpjqdcclcjxmyzftsxgcgsbrzxjqqcczh"
     + "gyjdjqqlzxjyldlbcyamcstylbdjbyregklzdzhldszchznwczcllwjqjjjkdgjcolbbzppglghtgzcygezmycnqcycy"
     + "hbhgxkamtxyxnbskyzzgjzlqjdfcjxdygjqjjpmgwgjjjpkjsbgbmmcjssclpqpdxcdyykypcjddyygywchjrtgcnyql"
     + "dkljczzgzccjgdyksgpzmdlcphnjafyzdjcnmwescsglbtzcgmsdllyxqsxsbljsbbsgghfjlwpmzjnlyywdqshzxtyy"
     + "whmcyhywdbxbtlmswyyfsbjcbdxxlhjhfpsxzqhfzmqcztqcxzxrdkdjhnnyzqqfnqdmmgnydxmjgdhcdycbffallztd"
     + "ltfkmxqzdngeqdbdczjdxbzgsqqddjcmbkxffxmkdmcsychzcmljdjynhprsjmkmpcklgdbqtfzswtfgglyplljzhgjj"
     + "gypzltcsmcnbtjbhfkdhbyzgkpbbymtdlsxsbnpdkleycjnycdykzddhqgsdzsctarlltkzlgecllkjljjaqnbdggghf"
     + "jtzqjsecshalqfmmgjnlyjbbtmlycxdcjpldlpcqdhsycbzsckbzmsljflhrbjsnbrgjhxpdgdjybzgdlgcsezgxlblg"
     + "yxtwmabchecmwyjyzlljjshlgndjlslygkdzpzxjyyzlpcxszfgwyydlyhcljscmbjhblyjlycblydpdqysxktbytdkd"
     + "xjypcnrjmfdjgklccjbctbjddbblblcdqrppxjcglzcshltoljnmdddlngkaqakgjgyhheznmshrphqqjchgmfprxcjg"
     + "dychghlyrzqlcngjnzsqdkqjymszswlcfqjqxgbggxmdjwlmcrnfkkfsyyljbmqammmycctbshcptxxzzsmphfshmclm"
     + "ldjfyqxsdyjdjjzzhqpdszglssjbckbxyqzjsgpsxjzqznqtbdkwxjkhhgflbcsmdldgdzdblzkycqnncsybzbfglzzx"
     + "swmsccmqnjqsbdqsjtxxmbldxcclzshzcxrqjgjylxzfjphymzqqydfqjjlcznzjcdgzygcdxmzysctlkphtxhtlbjxj"
     + "lxscdqccbbqjfqzfsltjbtkqbsxjjljchczdbzjdczjccprnlqcgpfczlclcxzdmxmphgsgzgszzqjxlwtjpfsyaslcj"
     + "btckwcwmytcsjjljcqlwzmalbxyfbpnlschtgjwejjxxglljstgshjqlzfkcgnndszfdeqfhbsaqdgylbxmmygszldyd"
     + "jmjjrgbjgkgdhgkblgkbdmbylxwcxyttybkmrjjzxqjbhlmhmjjzmqasldcyxyqdlqcafywyxqhz";
    String _gbcode = GBCode.ToString();
    int pos = (Convert.ToInt16(_gbcode.Substring(0,2))-56)*94+Convert.ToInt16(_gbcode.Substring(_gbcode.Length-2,2));
    return CodeData.Substring(pos-1,1);
   }
   return " ";
  }

 }
}