这是它的html源代码 <%@ Page language="c#" Codebehind="No1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication2.No1" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>No1</title> <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"> <meta content="C#" name="CODE_LANGUAGE"> <meta content="javascript" name="vs_defaultClientScript"> <meta content="http://schemas.microsoft.com/intellisense/ie5"; name="vs_targetSchema"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <FONT face="宋体"> <asp:TextBox id="TextBox1" style="Z-INDEX: 101; LEFT: 32px; POSITION: absolute; TOP: 24px" runat="server"></asp:TextBox> <asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 200px; POSITION: absolute; TOP: 24px" runat="server" Text="Button"></asp:Button> <asp:Label id="Label1" style="Z-INDEX: 103; LEFT: 40px; POSITION: absolute; TOP: 72px" runat="server"></asp:Label></FONT></form> </body> </HTML> 这是它的CS源程序: using System; using System.Text; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace WebApplication2 { /// <summary> /// No1 的摘要说明。 /// </summary> public class No1 : System.Web.UI.Page { protected System.Web.UI.WebControls.TextBox TextBox1; protected System.Web.UI.WebControls.Button Button1; protected System.Web.UI.WebControls.Label Label1; private Hashtable ht; string g(int num) { if(num < -20319||num > -10247) return ""; while(!ht.ContainsKey(num)) num--; return ht[num].ToString(); } string c(string hz) { byte[] b=System.Text.Encoding.Default.GetBytes(hz); int p; StringBuilder ret=new StringBuilder(); for(int i=0;i< b.Length;i++) { p=(int)b[i]; if(p>160) { p=p*256+b[++i]-65536; ret.Append(g(p)); } else { ret.Append((char)p); } } return ret.ToString(); } void b() { ht=new Hashtable(); ht.Add(-20319,"a"); ht.Add(-20317,"ai");ht.Add(-20304,"an"); ht.Add(-20295,"ang"); ht.Add(-20292,"ao");ht.Add(-20283,"ba"); ht.Add(-20265,"bai"); ht.Add(-20257,"ban");ht.Add(-20242,"bang"); ht.Add(-20230,"bao"); ht.Add(-20051,"bei"); ht.Add(-20036,"ben"); ht.Add(-20032,"beng"); ht.Add(-20026,"bi"); ht.Add(-20002,"bian"); ht.Add(-19990,"biao"); ht.Add(-19986,"bie"); ht.Add(-19982,"bin"); ht.Add(-19976,"bing"); ht.Add(-19805,"bo"); ht.Add(-19784,"bu"); ht.Add(-19775,"ca"); ht.Add(-19774,"cai"); ht.Add(-19763,"can"); ht.Add(-19756,"cang"); ht.Add(-19751,"cao"); ht.Add(-19746,"ce"); ht.Add(-19741,"ceng"); ht.Add(-19739,"cha"); ht.Add(-19728,"chai"); ht.Add(-19725,"chan"); ht.Add(-19715,"chang"); ht.Add(-19540,"chao"); ht.Add(-19531,"che"); ht.Add(-19525,"chen"); ht.Add(-19515,"cheng"); ht.Add(-19500,"chi"); ht.Add(-19484,"chong"); ht.Add(-19479,"chou"); ht.Add(-19467,"chu"); ht.Add(-19289,"chuai"); ht.Add(-19288,"chuan"); ht.Add(-19281,"chuang"); ht.Add(-19275,"chui"); ht.Add(-19270,"chun"); ht.Add(-19263,"chuo"); ht.Add(-19261,"ci"); ht.Add(-19249,"cong"); ht.Add(-19243,"cou"); ht.Add(-19242,"cu"); ht.Add(-19238,"cuan"); ht.Add(-19235,"cui"); ht.Add(-19227,"cun"); ht.Add(-19224,"cuo"); ht.Add(-19218,"da"); ht.Add(-19212,"dai"); ht.Add(-19038,"dan"); ht.Add(-19023,"dang"); ht.Add(-19018,"dao"); ht.Add(-19006,"de"); ht.Add(-19003,"deng"); ht.Add(-18996,"di"); ht.Add(-18977,"dian"); ht.Add(-18961,"diao"); ht.Add(-18952,"die"); ht.Add(-18783,"ding"); ht.Add(-18774,"diu"); ht.Add(-18773,"dong"); ht.Add(-18763,"dou"); ht.Add(-18756,"du"); ht.Add(-18741,"duan"); ht.Add(-18735,"dui"); ht.Add(-18731,"dun"); ht.Add(-18722,"duo"); ht.Add(-18710,"e"); ht.Add(-18697,"en"); ht.Add(-18696,"er"); ht.Add(-18526,"fa"); ht.Add(-18518,"fan"); ht.Add(-18501,"fang"); ht.Add(-18490,"fei"); ht.Add(-18478,"fen"); ht.Add(-18463,"feng"); ht.Add(-18448,"fo"); ht.Add(-18447,"fou"); ht.Add(-18446,"fu"); ht.Add(-18239,"ga"); ht.Add(-18237,"gai"); ht.Add(-18231,"gan"); ht.Add(-18220,"gang"); ht.Add(-18211,"gao"); ht.Add(-18201,"ge"); ht.Add(-18184,"gei"); ht.Add(-18183,"gen"); ht.Add(-18181,"geng"); ht.Add(-18012,"gong"); ht.Add(-17997,"gou"); ht.Add(-17988,"gu"); ht.Add(-17970,"gua"); ht.Add(-17964,"guai"); ht.Add(-17961,"guan"); ht.Add(-17950,"guang"); ht.Add(-17947,"gui"); ht.Add(-17931,"gun"); ht.Add(-17928,"guo"); ht.Add(-17922,"ha"); ht.Add(-17759,"hai"); ht.Add(-17752,"han"); ht.Add(-17733,"hang"); ht.Add(-17730,"hao"); ht.Add(-17721,"he"); ht.Add(-17703,"hei"); ht.Add(-17701,"hen"); ht.Add(-17697,"heng"); ht.Add(-17692,"hong"); ht.Add(-17683,"hou"); ht.Add(-17676,"hu"); ht.Add(-17496,"hua"); ht.Add(-17487,"huai"); ht.Add(-17482,"huan"); ht.Add(-17468,"huang"); ht.Add(-17454,"hui"); ht.Add(-17433,"hun"); ht.Add(-17427,"huo"); ht.Add(-17417,"ji"); ht.Add(-17202,"jia"); ht.Add(-17185,"jian"); ht.Add(-16983,"jiang"); ht.Add(-16970,"jiao"); ht.Add(-16942,"jie"); ht.Add(-16915,"jin"); ht.Add(-16733,"jing"); ht.Add(-16708,"jiong"); ht.Add(-16706,"jiu"); ht.Add(-16689,"ju"); ht.Add(-16664,"juan"); ht.Add(-16657,"jue"); ht.Add(-16647,"jun"); ht.Add(-16474,"ka"); ht.Add(-16470,"kai"); ht.Add(-16465,"kan"); ht.Add(-16459,"kang"); ht.Add(-16452,"kao"); ht.Add(-16448,"ke"); ht.Add(-16433,"ken"); ht.Add(-16429,"keng"); ht.Add(-16427,"kong"); ht.Add(-16423,"kou"); ht.Add(-16419,"ku"); ht.Add(-16412,"kua"); ht.Add(-16407,"kuai"); ht.Add(-16403,"kuan"); ht.Add(-16401,"kuang"); ht.Add(-16393,"kui"); ht.Add(-16220,"kun"); ht.Add(-16216,"kuo"); ht.Add(-16212,"la"); ht.Add(-16205,"lai"); ht.Add(-16202,"lan"); ht.Add(-16187,"lang"); ht.Add(-16180,"lao"); ht.Add(-16171,"le"); ht.Add(-16169,"lei"); ht.Add(-16158,"leng"); ht.Add(-16155,"li"); ht.Add(-15959,"lia"); ht.Add(-15958,"lian"); ht.Add(-15944,"liang"); ht.Add(-15933,"liao"); ht.Add(-15920,"lie"); ht.Add(-15915,"lin"); ht.Add(-15903,"ling"); ht.Add(-15889,"liu"); ht.Add(-15878,"long"); ht.Add(-15707,"lou"); ht.Add(-15701,"lu");ht.Add(-15681,"lv");ht.Add(-15667,"luan"); ht.Add(-15661,"lue");ht.Add(-15659,"lun");ht.Add(-15652,"luo"); ht.Add(-15640,"ma");ht.Add(-15631,"mai");ht.Add(-15625,"man"); ht.Add(-15454,"mang");ht.Add(-15448,"mao");ht.Add(-15436,"me"); ht.Add(-15435,"mei");ht.Add(-15419,"men");ht.Add(-15416,"meng"); ht.Add(-15408,"mi");ht.Add(-15394,"mian");ht.Add(-15385,"miao"); ht.Add(-15377,"mie");ht.Add(-15375,"min");ht.Add(-15369,"ming"); ht.Add(-15363,"miu");ht.Add(-15362,"mo");ht.Add(-15183,"mou"); ht.Add(-15180,"mu");ht.Add(-15165,"na");ht.Add(-15158,"nai"); ht.Add(-15153,"nan");ht.Add(-15150,"nang");ht.Add(-15149,"nao"); ht.Add(-15144,"ne");ht.Add(-15143,"nei");ht.Add(-15141,"nen"); ht.Add(-15140,"neng");ht.Add(-15139,"ni");ht.Add(-15128,"nian"); ht.Add(-15121,"niang");ht.Add(-15119,"niao");ht.Add(-15117,"nie"); ht.Add(-15110,"nin");ht.Add(-15109,"ning");ht.Add(-14941,"niu"); ht.Add(-14937,"nong");ht.Add(-14933,"nu");ht.Add(-14930,"nv"); ht.Add(-14929,"nuan");ht.Add(-14928,"nue");ht.Add(-14926,"nuo"); ht.Add(-14922,"o");ht.Add(-14921,"ou");ht.Add(-14914,"pa"); ht.Add(-14908,"pai");ht.Add(-14902,"pan");ht.Add(-14894,"pang"); ht.Add(-14889,"pao");ht.Add(-14882,"pei");ht.Add(-14873,"pen"); ht.Add(-14871,"peng");ht.Add(-14857,"pi");ht.Add(-14678,"pian"); ht.Add(-14674,"piao");ht.Add(-14670,"pie");ht.Add(-14668,"pin"); ht.Add(-14663,"ping");ht.Add(-14654,"po");ht.Add(-14645,"pu"); ht.Add(-14630,"qi");ht.Add(-14594,"qia");ht.Add(-14429,"qian"); ht.Add(-14407,"qiang");ht.Add(-14399,"qiao");ht.Add(-14384,"qie"); ht.Add(-14379,"qin");ht.Add(-14368,"qing");ht.Add(-14355,"qiong"); ht.Add(-14353,"qiu");ht.Add(-14345,"qu");ht.Add(-14170,"quan"); ht.Add(-14159,"que");ht.Add(-14151,"qun");ht.Add(-14149,"ran"); ht.Add(-14145,"rang");ht.Add(-14140,"rao");ht.Add(-14137,"re"); ht.Add(-14135,"ren");ht.Add(-14125,"reng");ht.Add(-14123,"ri"); ht.Add(-14122,"rong");ht.Add(-14112,"rou");ht.Add(-14109,"ru"); ht.Add(-14099,"ruan");ht.Add(-14097,"rui");ht.Add(-14094,"run"); ht.Add(-14092,"ruo");ht.Add(-14090,"sa");ht.Add(-14087,"sai"); ht.Add(-14083,"san");ht.Add(-13917,"sang");ht.Add(-13914,"sao"); ht.Add(-13910,"se");ht.Add(-13907,"sen");ht.Add(-13906,"seng"); ht.Add(-13905,"sha");ht.Add(-13896,"shai");ht.Add(-13894,"shan"); ht.Add(-13878,"shang");ht.Add(-13870,"shao");ht.Add(-13859,"she"); ht.Add(-13847,"shen");ht.Add(-13831,"sheng");ht.Add(-13658,"shi"); ht.Add(-13611,"shou");ht.Add(-13601,"shu");ht.Add(-13406,"shua"); ht.Add(-13404,"shuai");ht.Add(-13400,"shuan");ht.Add(-13398,"shuang"); ht.Add(-13395,"shui");ht.Add(-13391,"shun");ht.Add(-13387,"shuo"); ht.Add(-13383,"si");ht.Add(-13367,"song");ht.Add(-13359,"sou"); ht.Add(-13356,"su");ht.Add(-13343,"suan");ht.Add(-13340,"sui"); ht.Add(-13329,"sun");ht.Add(-13326,"suo");ht.Add(-13318,"ta"); ht.Add(-13147,"tai");ht.Add(-13138,"tan");ht.Add(-13120,"tang"); ht.Add(-13107,"tao");ht.Add(-13096,"te");ht.Add(-13095,"teng"); ht.Add(-13091,"ti");ht.Add(-13076,"tian");ht.Add(-13068,"tiao"); ht.Add(-13063,"tie");ht.Add(-13060,"ting");ht.Add(-12888,"tong"); ht.Add(-12875,"tou");ht.Add(-12871,"tu");ht.Add(-12860,"tuan"); ht.Add(-12858,"tui");ht.Add(-12852,"tun");ht.Add(-12849,"tuo"); ht.Add(-12838,"wa");ht.Add(-12831,"wai");ht.Add(-12829,"wan"); ht.Add(-12812,"wang");ht.Add(-12802,"wei");ht.Add(-12607,"wen"); ht.Add(-12597,"weng");ht.Add(-12594,"wo");ht.Add(-12585,"wu"); ht.Add(-12556,"xi");ht.Add(-12359,"xia");ht.Add(-12346,"xian"); ht.Add(-12320,"xiang");ht.Add(-12300,"xiao");ht.Add(-12120,"xie"); ht.Add(-12099,"xin");ht.Add(-12089,"xing");ht.Add(-12074,"xiong"); ht.Add(-12067,"xiu");ht.Add(-12058,"xu");ht.Add(-12039,"xuan"); ht.Add(-11867,"xue");ht.Add(-11861,"xun");ht.Add(-11847,"ya"); ht.Add(-11831,"yan");ht.Add(-11798,"yang");ht.Add(-11781,"yao"); ht.Add(-11604,"ye");ht.Add(-11589,"yi");ht.Add(-11536,"yin"); ht.Add(-11358,"ying");ht.Add(-11340,"yo");ht.Add(-11339,"yong"); ht.Add(-11324,"you");ht.Add(-11303,"yu");ht.Add(-11097,"yuan"); ht.Add(-11077,"yue");ht.Add(-11067,"yun");ht.Add(-11055,"za"); ht.Add(-11052,"zai");ht.Add(-11045,"zan");ht.Add(-11041,"zang"); ht.Add(-11038,"zao");ht.Add(-11024,"ze");ht.Add(-11020,"zei"); ht.Add(-11019,"zen");ht.Add(-11018,"zeng");ht.Add(-11014,"zha"); ht.Add(-10838,"zhai");ht.Add(-10832,"zhan");ht.Add(-10815,"zhang"); ht.Add(-10800,"zhao");ht.Add(-10790,"zhe");ht.Add(-10780,"zhen"); ht.Add(-10764,"zheng");ht.Add(-10587,"zhi");ht.Add(-10544,"zhong"); ht.Add(-10533,"zhou");ht.Add(-10519,"zhu");ht.Add(-10331,"zhua"); ht.Add(-10329,"zhuai");ht.Add(-10328,"zhuan");ht.Add(-10322,"zhuang"); ht.Add(-10315,"zhui");ht.Add(-10309,"zhun");ht.Add(-10307,"zhuo"); ht.Add(-10296,"zi");ht.Add(-10281,"zong");ht.Add(-10274,"zou"); ht.Add(-10270,"zu");ht.Add(-10262,"zuan");ht.Add(-10260,"zui"); ht.Add(-10256,"zun");ht.Add(-10254,"zuo");ht.Add(-10247,"zz"); Cache["ht"]=ht; } void Page_Load(Object sender, EventArgs e) { } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Button1.Click += new System.EventHandler(this.Button1_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void Button1_Click(object sender, System.EventArgs e) { if(Cache["ht"] == null) { b(); } ht = (Hashtable)Cache["ht"]; string hz = this.TextBox1.Text; this.Label1.Text = (c(hz)); } } } 大概思路是这样的: 1、建立一张哈希表,用于对应汉字内码和拼音,ht = (Hashtable)Cache["ht"]; 2、取出汉字的内码见 string c(string hz) 3、取出对应的拼音,详见string g(int num) 一个函数!!!!!!!!! //****************************************/取的一个汉字的首字母 public string Extract_HZ(string HZ) { byte[] ZW = new byte[2]; long HZ_INT; ZW = System.Text.Encoding.Default.GetBytes(HZ); // get the array of byte from the single char //int i1 = (short)(array[0] - oxa1); //int i2 = (short)(array[1] - oxa1); int i1 = (short)(ZW[0]); int i2 = (short)(ZW[1]); HZ_INT=i1*256+i2; // expresstion //table of the constant list // 'A'; //45217..45252 // 'B'; //45253..45760 // 'C'; //45761..46317 // 'D'; //46318..46825 // 'E'; //46826..47009 // 'F'; //47010..47296 // 'G'; //47297..47613 // 'H'; //47614..48118 // 'J'; //48119..49061 // 'K'; //49062..49323 // 'L'; //49324..49895 // 'M'; //49896..50370 // 'N'; //50371..50613 // 'O'; //50614..50621 // 'P'; //50622..50905 // 'Q'; //50906..51386 // 'R'; //51387..51445 // 'S'; //51446..52217 // 'T'; //52218..52697 //没有U,V // 'W'; //52698..52979 // 'X'; //52980..53640 // 'Y'; //53689..54480 // 'Z'; //54481..55289 // HZ_INT match the constant if ((HZ_INT>=45217) && (HZ_INT<=45252)) { return "A"; } if ((HZ_INT>=45253) && (HZ_INT<=45760)) { return "B"; } if ((HZ_INT>=45761) && (HZ_INT<=46317)) { return "C"; } if ((HZ_INT>=46318) && (HZ_INT<=46825)) { return "D"; } if ((HZ_INT>=46826) && (HZ_INT<=47009)) { return "E"; } if ((HZ_INT>=47010) && (HZ_INT<=47296)) { return "F"; } if ((HZ_INT>=47297) && (HZ_INT<=47613)) { return "G"; } //************************** if ((HZ_INT>=47614) && (HZ_INT<=48118)) { //MessageBox.Show("H"); return "H"; } if ((HZ_INT>=48119) && (HZ_INT<=49061)) { return "J"; } if ((HZ_INT>=49062) && (HZ_INT<=49323)) { return "K"; } if ((HZ_INT>=49324) && (HZ_INT<=49895)) { return "L"; } if ((HZ_INT>=49896) && (HZ_INT<=50370)) { return "M"; } if ((HZ_INT>=50371) && (HZ_INT<=50613)) { return "N"; } if ((HZ_INT>=50614) && (HZ_INT<=50621)) { return "O"; } if ((HZ_INT>=50622) && (HZ_INT<=50905)) { return "P"; } if ((HZ_INT>=50906) && (HZ_INT<=.51386)) { return "Q"; } //********************* if ((HZ_INT>=51387) && (HZ_INT<=51445)) { return "R"; } if ((HZ_INT>=51446) && (HZ_INT<=52217)) { return "S"; } if ((HZ_INT>=52218) && (HZ_INT<=52697)) { return "T"; } if ((HZ_INT>=52698) && (HZ_INT<=52979)) { return "W"; } if ((HZ_INT>=52980) && (HZ_INT<=53640)) { return "X"; } if ((HZ_INT>=53689) && (HZ_INT<=54480)) { return "Y"; } if ((HZ_INT>=54481) && (HZ_INT<=55289)) { return "Z"; } return (""); } |