漢字轉拼音,獲取漢字首字母

話很少說,直接上代碼.html

 1 namespace Miraclesoft.Common.Utility.PinYin  2 {  3     internal class PyCode  4  {  5         internal static string[] Codes { get; } =
 6  {  7             "a :阿啊吖嗄醃錒",  8             "ai :愛埃礙矮挨唉哎哀皚癌藹艾隘捱噯嗌嬡璦曖砹鎄靄",  9             "an :安按暗岸案俺氨胺鞍諳垵揞犴庵桉銨鵪黯",  10             "ang :昂骯盎",  11             "ao :凹奧敖熬翱襖傲懊澳坳拗嗷嶴廒遨媼驁獒聱螯鏊鰲鏖",  12             "ba :把八吧巴拔霸罷爸壩芭捌扒叭笆疤跋靶耙茇菝岜灞鈀粑鮁魃",  13             "bai :百白敗擺柏佰拜稗捭掰",  14             "ban :辦半板班般版拌搬斑扳伴頒扮瓣絆阪阪鈑瘢癍舨",  15             "bang :幫棒邦榜梆膀綁磅蚌鎊傍謗蒡浜",  16             "bao :報保包剝薄胞暴寶飽抱爆堡苞褒雹豹鮑葆孢煲鴇褓趵齙",  17             "bei :北被倍備背輩貝杯卑悲碑鋇狽憊焙孛陂邶埤萆蓓唄悖碚鵯褙鐾鞴",  18             "ben :本奔苯笨畚坌賁錛",  19             "beng :泵崩繃甭蹦迸嘣甏",  20             "bi :比必避閉闢筆壁臂畢彼逼幣鼻蔽鄙碧蓖斃毖庇痹敝弊陛匕俾蓽荸薜吡嗶狴庳愎潷濞弼妣婢嬖璧畀鉍秕裨篳箅篦舭襞蹕髀",  21             "bian :變邊便編遍辯扁辨鞭貶卞辮匾弁苄忭汴緶飈煸砭碥窆褊蝙籩鯿",  22             "biao :表標彪膘婊驃杓颮飆鏢鑣瘭裱鰾髟",  23             "bie :別鱉憋癟蹩",  24             "bin :賓彬斌瀕濱擯儐豳繽玢檳殯臏鑌髕鬢",  25             "bing :並病兵柄冰丙餅秉炳稟邴摒",  26             "bo :波播伯撥博勃駁玻泊菠鉢搏鉑箔帛舶脖膊渤亳啵餑檗擘礴鈸鵓簸跛踣",  27             "bu :不部步布補捕卜哺埠簿怖卟逋瓿晡鈈鈽醭",  28             "ca :擦嚓礤",  29             "cai :採才材菜財裁彩猜睬踩蔡",  30             "can :參殘蠶燦餐慚慘孱驂璨粲黲",  31             "cang :藏倉蒼艙滄",  32             "cao :草槽操糙曹嘈漕螬艚",  33             "ce :測策側冊廁惻",  34             "cen :岑涔",  35             "ceng :層蹭",  36             "cha :查差插察茶叉茬碴搽岔詫猹餷汊奼杈楂槎檫鍤鑔衩",  37             "chai :柴拆豺儕釵瘥蠆",  38             "chan :產鏟闡攙摻蟬饞讒纏顫囅諂蕆廛懺潺澶羼嬋驏覘禪鐔蟾躔",  39             "chang :長常場廠唱腸昌倡償暢猖嘗敞倀鬯萇菖徜悵惝閶娼嫦昶氅鯧",  40             "chao :朝超潮巢抄鈔嘲吵炒怊晁耖",  41             "che :車徹撤扯掣澈坼硨",  42             "chen :陳沉稱襯塵臣晨郴辰忱趁傖諶讖抻嗔宸琛櫬磣齔",  43             "cheng :成程稱城承乘呈撐誠橙懲澄逞騁秤丞埕噌棖檉塍瞠鋮鐺裎蟶酲",  44             "chi :持尺齒吃赤池遲翅斥恥癡匙弛馳侈熾傺坻墀茌叱哧啻嗤彳飭媸敕眵鴟瘛褫蚩螭笞篪豉踟魑",  45             "chong :蟲充衝崇寵茺忡憧銃舂艟",  46             "chou :抽仇臭酬疇躊稠愁籌綢瞅醜儔幬惆瘳讎",  47             "chu :出處除初礎觸楚鋤儲櫥廚躇雛滁矗搐亍芻怵憷絀杵楮樗褚蜍躕黜",  48             "chuai :揣搋啜膪踹",  49             "chuan :傳船穿串川椽喘舛遄巛氚釧舡",  50             "chuang:牀創窗闖瘡幢愴",  51             "chui :吹垂錘炊捶陲棰槌",  52             "chun :春純醇椿脣淳蠢蓴鶉蝽",  53             "chuo :戳綽輟踔齪",  54             "ci :這次刺磁雌詞茨疵辭慈瓷賜茈呲祠鶿餈",  55             "cong :從叢聰蔥囪匆蓯淙驄琮璁",  56             "cou :湊楱輳腠",  57             "cu :粗促醋簇蔟徂猝殂酢蹙蹴",  58             "cuan :篡躥竄汆攛爨鑹",  59             "cui :催脆淬粹摧崔瘁翠萃啐悴璀榱毳隹",  60             "cun :存村寸忖皴",  61             "cuo :錯措撮磋搓挫厝嵯脞銼矬痤鹺蹉",  62             "da :大打達答搭瘩耷噠嗒怛妲疸褡笪靼韃",  63             "dai :代帶待袋戴呆歹傣殆貸逮怠埭甙呔岱迨駘紿玳黛",  64             "dan :單但彈擔蛋淡膽氮丹旦耽鄲撣憚誕儋萏啖殫賧眈疸癉聃簞",  65             "dang :黨當檔擋蕩讜凼菪宕碭襠",  66             "dao :到道導刀倒稻島搗盜蹈禱悼叨忉氘纛",  67             "de :的得德鍀",  68             "deng :等燈登鄧蹬瞪凳噔嶝戥磴鐙簦",  69             "di :地第低敵底帝抵滴弟遞堤迪笛狄滌翟嫡蒂締氐糴詆諦邸荻嘀娣綈柢棣覿砥碲睇鏑羝骶",  70             "dia :嗲",  71             "dian :電點墊典店顛澱掂滇碘靛佃甸惦奠殿阽坫巔玷鈿癜癲簟踮",  72             "diao :調掉吊碉叼雕凋刁釣銱銚貂鯛",  73             "die :迭跌爹碟蝶諜疊垤堞揲喋牒瓞耋蹀鰈",  74             "ding :定頂釘丁訂盯叮鼎錠仃啶玎腚碇町疔耵酊",  75             "diu :丟銩",  76             "dong :動東冬懂洞凍董棟侗恫垌咚崬峒氡腖胴硐鶇",  77             "dou :鬥豆兜抖陡逗痘蔸竇蚪篼",  78             "du :度都毒獨讀渡杜堵鍍頓督犢睹賭肚妒芏嘟瀆櫝牘蠹篤髑黷",  79             "duan :斷端段短鍛緞椴煅籪",  80             "dui :對隊堆兌懟憝碓",  81             "dun :盾噸頓蹲敦墩囤鈍遁沌燉砘礅盹鐓躉",  82             "duo :多奪朵掇哆垛躲跺舵剁惰墮咄哚沲綞柁鐸裰踱",  83             "e :而二爾兒惡額恩俄耳餌蛾餓峨鵝訛娥厄扼遏鄂噩諤堊苊莪萼呃愕屙婀軛齶鋨鍔鶚顎鱷",  84             "ei :誒",  85             "en :恩蒽摁",  86             "er :而二爾兒耳餌洱貳佴邇珥鉺鴯鮞",  87             "fa :發法閥乏伐罰筏琺垡砝",  88             "fan :反翻範犯飯繁泛番凡煩返藩帆樊礬釩販蕃蘩幡梵燔畈蹯",  89             "fang :方放防訪房紡仿妨芳肪坊邡枋鈁舫魴",  90             "fei :非肥飛費廢肺沸菲匪啡誹吠芾狒悱淝妃緋榧腓斐扉鐨痱蜚篚翡霏鯡",  91             "fen :分粉奮份糞紛芬憤酚吩氛墳焚汾忿僨瀵棼鱝鼢",  92             "feng :風封蜂豐縫峯鋒瘋奉楓烽逢馮諷鳳俸酆葑唪灃碸",  93             "fou :否缶",  94             "fu :復服副府夫負富附福伏符幅腐浮輔付腹婦孵覆扶輻傅佛縛父弗甫膚氟敷拂俘涪袱撫俯釜斧脯腑赴賦阜訃咐匐鳧郛芙苻茯莩菔拊呋襆怫滏艴孚駙紱紼桴賻祓砩黻黼罘稃馥蚨蜉蝠蝮麩趺跗鮒鰒",  95             "ga :噶嘎尬尕尜旮釓",  96             "gai :改該蓋概鈣溉丐陔垓戤賅",  97             "gan :幹杆感敢趕甘肝稈柑竿贛坩苷尷擀泔淦澉紺橄旰矸疳酐",  98             "gang :剛鋼缸綱崗港槓岡肛戇罡筻",  99             "gao :高搞告稿膏篙皋羔糕鎬睾誥郜藁縞槔槁杲鋯", 100             "ge :個各革格割歌隔哥鉻閣戈葛擱鴿胳疙蛤鬲仡哿圪塥嗝搿膈硌鎘袼虼舸骼", 101             "gen :根跟亙茛哏艮", 102             "geng :更耕頸庚羹埂耿梗哽賡綆鯁", 103             "gong :工公共供功攻鞏貢汞宮恭龔躬弓拱珙肱蚣觥", 104             "gou :夠構溝狗鉤勾購苟垢佝詬岣遘媾緱枸覯彀笱篝韝", 105             "gu :鼓固古骨故顧股谷估僱孤姑辜菇咕箍沽蠱嘏詁菰崮汩梏軲牯牿臌轂瞽罟鈷錮鴣痼蛄酤觚鯝鶻", 106             "gua :掛刮瓜剮寡褂卦詿呱栝胍鴰", 107             "guai :怪乖拐", 108             "guan :關管觀官灌貫慣冠館罐棺倌莞摜涫盥鸛矜鰥", 109             "guang :光廣逛咣獷桄胱", 110             "gui :規貴歸硅鬼軌龜桂瑰圭閨詭癸櫃跪劊匭劌庋宄嬀檜炅晷皈簋鮭鱖", 111             "gun :滾輥棍袞緄磙鯀", 112             "guo :國過果鍋郭裹馘堝摑咼幗崞猓槨虢聒蜾蟈", 113             "ha :哈鉿", 114             "hai :還海害孩骸氦亥駭嗨胲醢", 115             "han :含焊旱喊漢寒汗函韓酣憨邯涵罕翰撼捍憾悍邗菡撖闞瀚晗焓頇頷蚶鼾", 116             "hang :航夯杭沆絎珩頏", 117             "hao :好號毫耗豪郝浩壕嚎蒿薅嗥嚆濠灝昊皓顥蠔", 118             "he :和合河何核赫荷褐喝賀呵禾盒菏貉閡涸鶴訶劾壑嗬闔紇曷盍頜蚵翮", 119             "hei :黑嘿", 120             "hen :很狠痕恨", 121             "heng :橫衡恆哼亨蘅桁", 122             "hong :紅洪轟烘哄虹鴻宏弘黌訇訌葒蕻薨閎泓", 123             "hou :後候厚侯喉猴吼堠後逅瘊篌餱鱟骺", 124             "hu :護互湖呼戶弧乎胡糊虎忽瑚壺葫蝴狐唬滬冱唿囫岵猢怙惚滸滹琥槲軤觳烀煳戽扈祜瓠鵠鶘鸌笏醐斛", 125             "hua :化花話劃滑華畫譁猾驊樺砉鏵", 126             "huai :壞懷淮槐徊踝", 127             "huan :環換歡緩患幻煥桓喚瘓豢渙宦郇奐萑擐圜獾洹浣漶寰逭繯鍰鯇鬟", 128             "huang :黃簧荒皇慌蝗磺凰惶煌晃幌恍謊隍徨湟潢遑璜肓癀蟥篁鰉", 129             "hui :會回灰揮輝匯毀慧恢繪惠徽蛔悔卉晦賄穢燴諱誨詼茴薈蕙咴噦喙隳洄澮彗繢琿暉恚虺蟪麾", 130             "hun :混渾葷昏婚魂諢餛閽溷", 131             "huo :活或火貨獲夥霍豁惑禍劐藿攉嚯夥鈥鍃鑊耠蠖", 132             "ji :級及機極幾積給基記己計集即際季激濟技擊繼急劑既紀寄擠雞跡績吉脊輯籍疾肌棘畸圾稽箕飢譏姬緝汲嫉薊冀伎祭悸寂忌妓藉丌亟乩剞佶偈詰墼芨芰薺蒺蕺掎嘰咭嚌唧岌嵴洎屐驥畿璣楫殛戟戢齎覬犄齏磯羈嵇稷瘠蟣笈笄暨躋跽霽鱭鯽髻麂", 133             "jia :加家架價甲夾假鉀賈稼駕嘉枷佳莢頰嫁伽郟葭岬浹迦珈戛胛恝鋏鎵痂瘕袷蛺笳袈跏", 134             "jian :間件見建堅減檢踐尖簡鹼剪艱漸肩鍵健柬鑑劍殲監兼奸箭繭艦儉箋煎緘礆揀撿薦檻賤餞濺澗僭諫譾菅蒹搛湔蹇謇縑梘楗戔戩牮犍毽腱瞼鐗鶼襉筧翦趼踺鰹韉", 135             "jiang :將降講江漿蔣獎疆僵姜槳匠醬茳洚絳繮犟礓耩糨豇", 136             "jiao :較教交角叫腳膠澆焦攪酵郊鉸窖椒礁驕嬌嚼矯僥狡餃繳絞剿轎佼僬艽茭撟噍嶠徼姣敫皎鷦蛟醮跤鮫", 137             "jie :結階解接節界截介借屆街揭潔傑竭皆秸劫桔捷睫姐戒藉芥疥誡訐拮喈嗟婕孑桀碣癤頡蚧羯鮚骱", 138             "jin :進金近緊斤今盡僅勁浸禁津筋錦晉巾襟謹靳燼巹藎堇噤饉廑妗縉瑾槿贐覲衿", 139             "jing :經精京徑井靜竟晶淨境鏡景警莖敬驚睛競荊兢鯨粳痙靖剄儆阱菁獍憬涇逕弳婧肼脛腈旌", 140             "jiong :炯窘迥扃", 141             "jiu :就九舊究久救酒糾揪玖韭灸廄臼舅咎疚僦啾鬮柩桕鳩鷲赳鬏", 142             "ju :具據局舉句聚距巨居鋸劇矩拒鞠拘狙疽駒菊咀沮踞俱懼炬倨詎苣苴莒掬遽屨琚椐榘櫸橘犋颶鉅鋦窶裾趄醵踽齟雎鞫", 143             "juan :卷捐鵑娟倦眷絹鄄狷涓桊蠲錈鐫雋", 144             "jue :決覺絕掘撅攫抉倔爵訣厥劂譎矍蕨噘噱崛獗孓珏桷橛爝钁蹶觖", 145             "jun :軍均菌君鈞峻俊竣浚郡駿捃皸筠麇", 146             "ka :卡喀咖咯佧咔胩", 147             "kai :開凱揩楷慨剴塏蒈愾愷鎧鐦鍇", 148             "kan :看刊坎堪勘砍侃莰戡龕瞰", 149             "kang :抗康炕慷糠扛亢伉閌鈧", 150             "kao :考靠拷烤尻栲犒銬", 151             "ke :可克科刻客殼顆棵柯坷苛磕咳渴課嗑岢恪溘騍緙珂軻氪瞌鈳錁稞痾窠頦蝌髁", 152             "ken :肯啃墾懇裉", 153             "keng :坑吭鏗", 154             "kong :孔空控恐倥崆箜", 155             "kou :口扣摳寇芤蔻叩瞘筘", 156             "ku :苦庫枯酷哭窟褲刳堀嚳絝骷", 157             "kua :跨誇垮挎胯侉", 158             "kuai :快塊筷儈蒯鄶噲獪膾", 159             "kuan :寬款髖", 160             "kuang :況礦狂框匡筐眶曠誆誑鄺壙夼哐纊貺", 161             "kui :奎潰饋虧盔巋窺葵魁傀愧馗匱夔隗蕢揆喹喟悝憒逵暌睽聵蝰簣跬", 162             "kun :困昆坤捆悃閫琨錕醌鯤髡", 163             "kuo :擴括闊廓蛞", 164             "la :拉啦蠟臘藍垃喇辣剌邋旯砬瘌", 165             "lai :來賴萊崍徠淶瀨賚睞錸癩籟", 166             "lan :蘭爛藍覽欄婪攔籃闌瀾讕攬懶纜濫嵐漤欖斕罱鑭襤", 167             "lang :浪朗郎狼琅榔廊莨蒗啷閬鋃稂螂", 168             "lao :老勞牢澇撈佬姥酪烙嘮嶗栳銠鐒癆耮醪", 169             "le :了樂勒肋仂叻泐鰳", 170             "lei :類雷累壘淚鐳蕾磊儡擂肋羸誄嘞嫘縲檑耒酹", 171             "leng :冷棱楞塄愣", 172             "li :理裏利力立離例歷粒釐禮李隸黎璃勵犁梨麗厲籬狸漓鯉莉荔吏慄礫傈俐痢瀝哩儷俚酈壢藶蒞蘺藜嚦唳喱猁溧澧邐娌嫠驪縭櫪櫟轢戾礪詈罹鋰鸝癘癧蠣蜊蠡笠篥糲醴躒靂鱺鱧黧", 173             "lia :倆", 174             "lian :連聯練煉臉鏈蓮鐮廉憐漣簾斂戀蘞奩瀲濂璉楝殮臁褳襝蠊鰱", 175             "liang :量兩糧良亮梁涼輛粱晾諒墚椋踉靚魎", 176             "liao :料療遼僚撩聊燎寥潦撂鐐廖蓼尥嘹獠寮繚釕鷯", 177             "lie :列裂烈劣獵冽埒捩咧洌趔躐鬣", 178             "lin :林磷臨鄰淋麟琳霖鱗凜賃吝藺啉嶙廩懍遴檁轔膦瞵粼躪", 179             "ling :領另零令靈嶺鈴齡凌陵拎玲菱伶羚酃苓呤囹泠綾柃櫺瓴聆蛉翎鯪", 180             "liu :流六留劉硫柳餾瘤溜琉榴瀏遛騮綹旒熘鋶鎦鷚鎏", 181             "long :龍壟籠隆聾嚨窿攏隴壠蘢瀧瓏櫳朧礱癃", 182             "lou :漏樓婁摟簍陋僂蔞嘍嶁鏤瘻耬螻髏", 183             "lu :路率露綠爐律慮濾陸氯魯鋁錄旅盧呂蘆顱廬擄滷虜麓碌賂鹿潞祿戮驢侶履屢縷壚擼嚕閭瀘淥漉逯璐櫨櫚櫓轤輅轆氌臚膂鑥穭鸕鷺褸簏艫鱸", 184             "luan :卵亂巒攣孿灤臠孌欒鸞鑾", 185             "lue :略掠鋝", 186             "lun :論輪倫掄侖淪綸圇", 187             "luo :落羅螺洛絡邏蘿鑼籮騾裸駱倮蠃犖捋摞玀濼漯珞欏腡鏍瘰雒", 188             "m :嘸", 189             "ma :馬麻嗎媽罵嘛碼瑪螞嘜獁嬤榪蟆", 190             "mai :麥脈賣買埋邁勱蕒霾", 191             "man :滿慢曼漫蔓瞞饅蠻謾墁幔縵熳鏝顢蟎鰻鞔", 192             "mang :忙芒盲茫氓莽邙漭硭蟒", 193             "mao :毛矛冒貌貿帽貓茅錨鉚卯茂袤茆峁泖瑁昴犛耄旄懋瞀蟊髦", 194             "me :麼麼", 195             "mei :沒每美煤黴酶梅妹眉玫枚媒鎂昧寐媚莓嵋猸浼湄楣鎇鶥袂魅", 196             "men :們門悶捫燜懣鍆", 197             "meng :孟猛蒙盟夢萌錳檬勐甍瞢懵朦礞虻蜢蠓艋艨", 198             "mi :米密迷蜜祕眯醚靡糜謎彌覓泌冪羋謐蘼咪嘧獼汨宓弭脒禰敉糸縻麋", 199             "mian :面棉免綿眠冕勉娩緬沔澠湎靦眄", 200             "miao :苗秒描廟妙瞄藐渺喵邈緲繆杪淼眇鶓", 201             "mie :滅蔑咩蠛篾", 202             "min :民敏抿皿憫閩苠岷閔泯緡玟珉愍黽鰵", 203             "ming :命明名鳴螟銘冥茗溟暝瞑酩", 204             "miu :謬", 205             "mo :磨末模膜摸墨摩莫抹默摹蘑魔沫漠寞陌謨茉驀饃嫫歿鏌秣瘼耱貊貘", 206             "mou :某謀牟侔哞眸蛑蝥鍪", 207             "mu :畝目木母墓幕牧姆穆拇牡暮募慕睦仫坶苜沐毪鉬", 208             "n :嗯", 209             "na :那南哪拿納鈉吶娜捺肭鎿衲", 210             "nai :耐奶乃氖奈鼐艿萘柰", 211             "nan :南難男喃囝囡楠腩蝻赧", 212             "nang :囊攮囔饢曩", 213             "nao :腦鬧撓惱淖孬堖呶猱瑙硇鐃蟯", 214             "ne :呢訥", 215             "nei :內餒", 216             "nen :嫩恁", 217             "neng :能", 218             "ni :你泥尼逆擬尿妮霓倪匿膩溺伲坭猊怩暱旎慝睨鈮鯢", 219             "nian :年念粘蔫拈碾攆捻釀廿埝輦黏鮎鮎", 220             "niang :娘", 221             "niao :尿鳥蔦嬲脲嫋", 222             "nie :鎳齧涅捏聶孽鑷乜隉櫱囁顳臬躡", 223             "nin :您", 224             "ning :寧凝擰檸獰濘佞苧嚀甯聹", 225             "niu :牛扭鈕紐狃忸妞", 226             "nong :農弄濃膿儂噥", 227             "nou :耨", 228             "nu :女奴努怒弩胬孥駑恧釹衄", 229             "nuan :暖", 230             "nue :虐", 231             "nuo :諾挪懦糯儺搦喏鍩", 232             "o :歐偶哦鷗毆藕嘔漚謳噢慪甌耦", 233             "ou :歐偶鷗毆藕嘔漚謳慪甌耦", 234             "pa :怕派爬帕啪趴琶葩杷筢", 235             "pai :派排拍牌哌徘湃俳蒎", 236             "pan :判盤叛潘攀磐盼畔胖爿泮袢襻蟠蹣", 237             "pang :旁乓龐耪胖彷滂逄螃", 238             "pao :跑炮刨拋泡咆袍匏狍庖脬皰", 239             "pei :配培陪胚呸裴賠佩沛轡帔旆錇醅霈", 240             "pen :噴盆湓", 241             "peng :碰棚蓬朋捧膨砰抨烹澎彭硼篷鵬堋嘭怦蟛", 242             "pi :批皮坯脾疲砒霹披劈琵毗啤匹痞僻屁譬丕仳陴邳郫圮鼙芘擗噼庀淠媲紕枇甓睥羆鈹癖疋蚍蜱貔", 243             "pian :片偏篇騙諞駢犏胼翩蹁", 244             "piao :票漂飄瓢剽嘌嫖縹殍瞟螵", 245             "pie :撇瞥丿苤氕", 246             "pin :品貧頻拼蘋聘拚姘嬪榀牝顰", 247             "ping :平評瓶憑蘋乒坪萍屏俜娉枰鮃", 248             "po :破迫坡潑頗婆魄粕叵鄱珀攴釙鉕皤笸", 249             "pou :剖裒掊", 250             "pu :普譜撲埔鋪葡樸蒲僕莆菩圃浦曝瀑匍噗溥濮璞氆鏷鐠蹼", 251             "qi :起其氣期七器齊奇汽企漆欺旗畦啓棄歧棲戚妻悽柒沏棋崎臍祈祁騎豈乞契砌迄泣訖亓俟圻芑芪萁萋葺蘄嘁屺岐汔淇騏綺琪琦杞榿槭耆欹祺憩磧頎蠐蜞綦綮蹊鰭麒", 252             "qia :恰掐洽葜髂", 253             "qian :前千錢淺籤遷鉛潛牽鉗譴扦釺仟謙乾黔遣塹嵌欠歉倩僉阡芊芡茜蕁掮岍慳慊騫搴褰繾槧肷愆鈐虔箬箝", 254             "qiang :強槍搶牆腔嗆羌薔戕嬙檣戧熗錆鏘鏹襁蜣羥蹌", 255             "qiao :橋瞧巧敲喬蕉橇鍬悄僑鞘撬翹峭俏竅劁誚譙蕎愀憔樵磽蹺鞽", 256             "qie :切且茄怯竊郄愜妾挈鍥篋", 257             "qin :親侵勤秦欽琴芹擒禽寢沁芩撳唚嗪噙溱檎鋟覃螓衾", 258             "qing :情清青輕傾請慶氫晴卿擎氰頃檾圊檠磬蜻罄箐謦鯖黥", 259             "qiong :窮瓊邛煢穹蛩筇跫銎", 260             "qiu :求球秋丘邱囚酋泅俅巰犰湫逑遒楸賕虯蚯蝤裘糗鰍鼽", 261             "qu :去區取曲渠屈趨驅趣蛆軀娶齲詘劬蕖蘧嶇衢闃璩覷氍朐祛磲鴝癯蛐蠼麴瞿黢", 262             "quan :全權圈勸泉醛顴痊拳犬券詮荃悛綣輇畎銓蜷筌鬈", 263             "que :確卻缺炔瘸鵲榷雀闋闕愨", 264             "qun :羣裙逡", 265             "ran :然燃染冉苒蚺髯", 266             "rang :讓壤嚷瓤攘禳穰", 267             "rao :繞擾饒蕘嬈橈", 268             "re :熱惹", 269             "ren :人認任仁刃忍壬韌妊紉仞荏葚飪軔稔衽", 270             "reng :仍扔", 271             "ri :日", 272             "rong :容溶榮熔融絨戎茸蓉冗嶸狨榕肜蠑", 273             "rou :肉揉柔糅蹂鞣", 274             "ru :如入儒乳茹蠕孺辱汝褥蓐薷嚅洳溽濡縟銣襦顬", 275             "ruan :軟阮朊", 276             "rui :瑞銳蕊芮蕤枘睿蚋", 277             "run :潤閏", 278             "ruo :弱若偌", 279             "sa :撒薩灑卅仨挲脎颯", 280             "sai :塞賽腮鰓噻", 281             "san :三散叄傘饊毿糝", 282             "sang :桑喪嗓搡磉顙", 283             "sao :掃搔騷嫂埽繅繰臊瘙鰠", 284             "se :色瑟澀嗇銫穡", 285             "sen :森", 286             "seng :僧", 287             "sha :沙殺砂啥紗莎剎傻煞杉唼歃鎩痧裟霎鯊", 288             "shai :篩曬", 289             "shan :山閃善珊扇陝苫杉刪煽衫擅贍膳汕繕剡訕鄯埏芟潸姍嬗騸羶釤疝蟮舢跚鱔", 290             "shang :上商傷尚墒賞晌裳垧鞝殤熵觴", 291             "shao :少燒稍紹哨梢捎芍勺韶邵劭苕潲蛸筲艄", 292             "she :社設射攝舌涉舍蛇奢賒赦懾厙佘猞灄歙畲麝", 293             "shen :深身神伸甚滲沈腎審申慎砷呻娠紳嬸詵諗莘哂瀋椹胂矧蜃", 294             "sheng :生勝聲省升盛繩剩聖牲甥嵊晟眚笙", 295             "shi :是時十使事實式識世試石什示市史師始施士勢溼適食失視室氏蝕詩釋拾飾駛獅屍蝨矢屎柿拭誓逝嗜噬仕侍恃諡塒蒔蓍弒軾貰炻鈰螫舐筮釃豕鰣鯴", 296             "shou :手受收首守授壽獸售瘦狩綬艏", 297             "shu :數書樹屬術輸述熟束鼠疏殊舒蔬薯叔署樞梳抒淑贖孰暑曙蜀黍戍豎墅庶漱恕丨倏塾菽攄沭澍姝紓毹腧殳秫", 298             "shua :刷耍唰", 299             "shuai :衰帥摔甩蟀", 300             "shuan :栓拴閂涮", 301             "shuang:雙霜爽孀", 302             "shui :水誰睡稅", 303             "shun :順吮瞬舜", 304             "shuo :說碩朔爍蒴搠妁槊鑠", 305             "si :四思死斯絲似司飼私撕嘶肆寺嗣伺巳廝兕厶噝汜泗澌姒駟緦祀鍶鷥耜螄笥", 306             "song :鬆送宋頌聳慫訟誦凇菘崧嵩忪悚淞竦", 307             "sou :搜艘擻嗽叟藪嗖嗾餿溲颼瞍鎪螋", 308             "su :素速蘇塑縮俗訴宿肅酥粟僳溯夙謖蔌嗉愫涑簌觫穌", 309             "suan :算酸蒜狻", 310             "sui :隨穗碎雖歲隋綏髓遂隧祟誶荽濉邃燧眭睢", 311             "sun :損孫筍蓀猻飧榫隼", 312             "suo :所縮鎖索蓑梭唆瑣嗩嗦嗍娑桫睃羧", 313             "ta :他它她塔踏塌獺撻蹋闥溻遢榻沓鉈趿鰨", 314             "tai :臺太態胎擡泰苔酞汰邰薹肽炱鈦跆鮐", 315             "tan :談碳探炭坦貪灘坍攤癱壇檀痰潭譚毯袒嘆郯澹曇忐鉭錟", 316             "tang :堂糖唐塘湯搪棠膛倘躺淌趟燙儻帑溏瑭樘鐋鏜耥螗螳羰醣", 317             "tao :套討逃陶萄桃掏濤滔絛淘鞀啕洮韜燾饕", 318             "te :特忒忑鋱", 319             "teng :騰疼藤謄滕", 320             "ti :提題體替梯惕剔踢銻蹄啼嚏涕剃屜倜悌逖緹鵜裼醍", 321             "tian :天田添填甜恬舔腆掭忝闐殄畋", 322             "tiao :條跳挑迢眺佻祧窕蜩笤糶齠鰷髫", 323             "tie :鐵貼帖萜餮", 324             "ting :聽停庭挺廷廳烴汀亭艇莛葶婷梃鋌蜓霆", 325             "tong :同通統銅痛筒童桶桐酮瞳彤捅佟仝茼嗵慟潼砼", 326             "tou :頭投透偷鈄骰", 327             "tu :圖土突途徒凸塗吐兔屠禿堍荼菟釷酴", 328             "tuan :團湍摶彖疃", 329             "tui :推退腿頹蛻褪煺", 330             "tun :吞屯臀氽飩暾豚", 331             "tuo :脫拖託妥橢鴕陀馱駝拓唾乇佗坨庹沱柝橐砣籜酡跎鼉", 332             "wa :瓦挖哇蛙窪娃襪佤媧膃", 333             "wai :外歪", 334             "wan :完萬晚彎碗頑灣挽玩豌丸烷皖惋宛婉腕剜芄菀紈綰琬脘畹蜿", 335             "wang :往王望網忘妄亡旺汪枉罔尢惘輞魍", 336             "wei :爲位委圍維惟衛微偉未威危尾謂喂味胃魏僞違韋畏緯巍桅唯濰葦萎蔚渭尉慰偎諉隈葳薇囗幃帷崴嵬猥蝟闈潙洧潿逶娓瑋韙軎煒煨痿艉鮪", 337             "wen :問溫文穩紋聞蚊瘟吻紊刎閿汶璺雯", 338             "weng :嗡翁甕蓊蕹", 339             "wo :我握窩蝸渦沃撾臥斡倭萵喔幄渥肟硪齷", 340             "wu :無五物武務誤伍舞污悟霧午屋烏吳誣鎢巫嗚蕪梧吾毋捂侮塢戊晤勿兀仵阢鄔圬芴唔廡憮忤浯寤迕嫵婺騖杌牾焐鵡鶩痦蜈鋈鼯", 341             "xi :系席西習細吸析喜洗銑稀戲隙希息襲錫烯犧悉惜溪昔熙硒矽晰嘻膝夕熄汐犀檄媳僖兮隰郗菥葸蓰奚唏徙餼鬩浠淅屣嬉璽樨曦覡欷熹禊禧皙穸蜥螅蟋舄舾羲粞翕醯鼷", 342             "xia :下夏嚇狹霞瞎蝦匣轄暇峽俠廈呷狎遐瑕柙硤罅黠", 343             "xian :線現先縣限顯鮮獻險陷憲纖掀弦腺杴仙鹹賢銜舷閒涎嫌餡羨冼莧薟蘚峴獫暹嫺氙燹祆鷳癇蜆筅秈酰跣躚霰", 344             "xiang :想向相象響項箱鄉香像詳橡享湘廂鑲襄翔祥巷薌葙餉庠驤緗蟓鯗饗", 345             "xiao :小消削效笑校銷硝蕭肖孝霄哮囂宵淆曉嘯嘵崤瀟逍驍綃梟枵筱簫魈", 346             "xie :些寫斜謝協械卸屑鞋歇邪脅蟹泄瀉楔蠍挾攜諧懈偕褻勰燮薤擷獬廨渫瀣邂紲纈榭榍躞", 347             "xin :新心信鋅芯辛欣薪忻釁囟馨昕歆鑫", 348             "xing :行性形型星興醒姓幸腥猩惺刑邢杏陘荇滎擤餳悻硎", 349             "xiong :雄胸兄兇熊匈洶芎", 350             "xiu :修鏽休袖秀朽羞嗅繡咻岫饈庥溴鵂貅髹", 351             "xu :續許須需序虛絮畜敘蓄緒徐墟戌噓酗旭恤婿詡勖圩蓿洫漵頊栩煦盱胥糈醑", 352             "xuan :選旋宣懸玄軒喧癬眩絢儇諼萱揎泫渲漩璇楦暄炫煊碹鉉鏇痃", 353             "xue :學血雪穴靴薛謔澩踅鱈", 354             "xun :訓旬迅訊尋循巡勳薰詢馴殉汛遜巽壎荀蕈薰峋徇獯恂洵潯曛醺鱘", 355             "ya :壓亞呀牙芽雅蚜鴨押鴉丫崖衙涯啞訝伢埡揠岈迓婭琊椏氬砑睚瘂", 356             "yan :驗研嚴眼言鹽演巖沿煙延掩宴炎顏燕衍焉咽閹淹蜒閻奄豔堰厭硯雁唁彥焰諺厴贗儼偃兗讞郾鄢菸崦懨閆閼湮灩妍嫣琰檐晏胭焱罨筵釅魘饜鼴", 357             "yang :樣養氧揚洋陽羊秧央楊仰殃鴦佯瘍癢漾徉怏泱煬烊恙蛘鞅", 358             "yao :要藥搖腰咬邀耀瘧妖瑤堯遙窯謠姚舀夭爻吆崾徭幺珧杳軺曜餚鷂窈繇鰩", 359             "ye :也業頁葉液夜野爺冶椰噎耶掖曳腋靨謁鄴揶曄燁鋣", 360             "yi :一以義意已移醫議依易乙藝益異宜儀億遺伊役衣疑亦誼翼譯抑憶疫壹揖銥頤夷胰沂姨彝椅蟻倚矣邑屹臆逸肄裔毅溢詣翌繹刈劓佚佾詒圯埸懿苡荑薏弈奕挹弋囈咦咿噫嶧嶷猗飴懌怡悒漪迤驛縊殪軼貽旖熠眙釔鎰鐿痍瘞癔翊蜴艤羿翳酏黟", 361             "yin :因引陰印音銀隱飲蔭茵殷姻吟淫寅尹胤鄞垠堙茚吲喑狺夤洇氤銦癮窨蚓霪齦", 362             "ying :應影硬營英映迎櫻嬰鷹纓瑩螢熒蠅贏盈穎嬴郢塋鶯縈鎣攖嚶膺瀅瀠瀛瑛瓔楹媵鸚癭潁罌", 363             "yo :喲唷", 364             "yong :用勇永擁涌蛹庸傭臃癰雍踊詠泳恿俑壅墉喁慵邕鏞甬鱅饔", 365             "you :有由又油右友優幼遊尤誘猶幽悠憂郵鈾酉佑釉卣攸侑莠莜蕕呦囿宥柚猷牖銪疣蚰蚴蝣魷黝鼬", 366             "yu :於與育魚雨玉餘遇預域語愈漁予羽愚御欲宇迂淤盂榆虞輿俞逾愉渝隅娛嶼禹芋鬱籲喻峪獄譽浴寓裕豫馭禺毓傴俁諛諭萸蕷揄圄圉嵛狳飫餘庾閾鬻嫗妤紆瑜昱覦腴歟於煜熨燠聿鈺鵒鷸瘐瘀窬窳蜮蝓竽臾舁雩齬", 367             "yuan :員原圓源元遠願院緣援園怨鴛淵冤垣袁轅猿苑垸塬芫掾沅媛瑗櫞爰眢鳶螈箢黿", 368             "yue :月越約躍曰閱鑰嶽粵悅龠瀹樾刖鉞", 369             "yun :運雲勻允孕耘鄖隕蘊醞暈韻鄆芸狁惲慍紜韞殞昀氳熨", 370             "za :雜咱匝砸咋咂", 371             "zai :在再載栽災哉宰崽甾", 372             "zan :贊咱暫攢拶瓚昝簪糌趲鏨", 373             "zang :髒葬贓奘駔臧", 374             "zao :造早遭燥鑿糟棗皁藻澡蚤躁噪竈唣", 375             "ze :則擇責澤仄賾嘖幘迮昃笮簀舴", 376             "zei :賊", 377             "zen :怎譖", 378             "zeng :增曾憎贈繒甑罾鋥", 379             "zha :扎炸閘鍘軋渣喳札眨柵榨乍詐揸吒吒哳砟痄蚱齇", 380             "zhai :寨摘窄齋宅債砦瘵", 381             "zhan :戰展站佔瞻氈詹沾盞斬輾嶄蘸棧湛綻譫搌旃", 382             "zhang :張章掌仗障脹漲帳樟彰漳杖丈賬瘴仉鄣幛嶂獐嫜璋蟑", 383             "zhao :照找招召趙爪罩沼兆昭肇詔棹釗笊", 384             "zhe :這着者折哲浙遮蟄轍鍺蔗謫摺柘輒磔鷓褶蜇赭", 385             "zhen :真針陣鎮振震珍診斟甄砧臻貞偵枕疹圳蓁湞縝楨榛軫賑胗朕禎畛稹鴆箴", 386             "zheng :爭正政整證徵蒸症鄭掙睜猙怔拯幀諍崢徵鉦錚箏", 387             "zhi :之制治只質指直支織止至置志值知執職植紙致枝殖脂智肢秩址滯汁芝吱蜘侄趾旨摯擲幟峙稚炙痔窒卮陟郅埴芷摭帙忮彘咫騭櫛枳梔桎軹輊贄胝膣祉祗黹雉鷙痣蛭縶酯跖躓躑豸觶", 388             "zhong :中種重衆鍾終忠腫仲盅衷冢鍾螽舯踵", 389             "zhou :軸周洲州皺驟舟謅粥肘帚咒宙晝葤啁妯紂縐胄碡籀酎", 390             "zhu :主注著住助豬鑄株築柱駐逐祝竹貯珠朱諸蛛誅燭煮拄矚囑蛀佇侏邾茱洙渚瀦杼櫧櫫炷銖疰瘃竺箸舳翥躅麈", 391             "zhua :抓", 392             "zhuai :拽", 393             "zhuan :轉專磚撰賺篆囀饌顓", 394             "zhuang:裝狀壯莊撞樁妝僮", 395             "zhui :追錐椎贅墜綴惴騅縋", 396             "zhun :準諄肫窀", 397             "zhuo :捉桌拙卓琢茁酌啄灼濁倬諑擢浞涿濯焯禚斫鐲", 398             "zi :子自資字紫仔籽姿茲諮滋淄孜滓漬諮嵫姊孳緇梓輜貲恣眥錙秭耔笫粢趑觜訾齜鯔髭", 399             "zong :總縱宗綜棕鬃蹤傯樅腙糉", 400             "zou :走鄒奏揍諏陬鄹騶鯫", 401             "zu :組族足阻祖租卒詛俎菹鏃", 402             "zuan :鑽纂攥纘躦", 403             "zui :最罪嘴醉蕞", 404             "zun :尊遵撙樽鱒", 405             "zuo :做作左座坐昨佐柞阼唑嘬怍胙祚"
406  }; 407  } 408 }

 

 

 1 namespace Miraclesoft.Common.Utility.PinYin  2 {  3     class PyHash  4  {  5         internal static short[][] Hashes { get; } =
 6  {  7             new short[]{23, 70, 96, 128, 154, 165, 172, 195},  8             new short[]{25, 35, 87, 108, 120, 128, 132, 137, 168, 180, 325, 334, 336, 353, 361, 380},  9             new short[]{23, 34, 46, 81, 82, 87, 134, 237, 255, 288, 317, 322, 354, 359},  10             new short[]{7, 11, 37, 49, 53, 56, 131, 132, 146, 176, 315, 372},  11             new short[]{11, 69, 73, 87, 96, 103, 159, 175, 195, 296, 298, 359, 361},  12             new short[]{57, 87, 115, 126, 149, 244, 282, 298, 308, 345, 355},  13             new short[]{19, 37, 117, 118, 141, 154, 196, 216, 267, 301, 327, 333, 337, 347},  14             new short[]{4, 11, 59, 61, 62, 87, 119, 169, 183, 198, 262, 334, 362, 380},  15             new short[]{37, 135, 167, 170, 246, 250, 334, 341, 351, 354, 386, 390, 398},  16             new short[]{5, 6, 52, 55, 76, 146, 165, 244, 256, 266, 300, 318, 331},  17             new short[]{6, 71, 94, 129, 137, 141, 169, 179, 225, 226, 235, 248, 289, 290, 333, 345, 391},  18             new short[]{0, 33, 37, 62, 90, 131, 205, 246, 268, 343, 349, 380},  19             new short[]{31, 62, 85, 115, 117, 150, 159, 167, 171, 204, 215, 252, 343},  20             new short[]{69, 81, 98, 140, 165, 195, 239, 240, 259, 265, 329, 368, 375, 392, 393},  21             new short[]{13, 81, 82, 123, 132, 144, 154, 165, 334, 336, 345, 348, 349, 355, 367, 377, 383},  22             new short[]{31, 32, 44, 57, 76, 83, 87, 129, 151, 172, 176, 183, 184, 193, 221, 235, 285, 288, 305},  23             new short[]{10, 14, 60, 76, 85, 97, 115, 125, 128, 130, 286, 288, 301, 313, 382},  24             new short[]{62, 128, 136, 175, 211, 240, 254, 273, 274, 317, 330, 344, 349, 360, 380},  25             new short[]{29, 47, 52, 116, 126, 127, 130, 133, 191, 284, 288, 306, 353, 361, 383},  26             new short[]{1, 15, 25, 67, 83, 90, 117, 121, 150, 228, 308, 324, 336, 351, 386},  27             new short[]{34, 37, 67, 101, 103, 117, 127, 165, 168, 254, 267, 272, 274, 288, 305, 310, 323, 329, 333, 358, 378},  28             new short[]{5, 74, 103, 135, 163, 165, 171, 244, 262, 266, 334, 352, 390, 397},  29             new short[]{4, 17, 95, 125, 165, 186, 203, 221, 252, 282, 317, 333, 339, 348, 351, 353},  30             new short[]{74, 79, 81, 84, 92, 110, 116, 117, 131, 132, 154, 199, 241, 251, 300, 306, 349, 359, 383, 387},  31             new short[]{40, 83, 127, 144, 161, 188, 249, 288, 344, 382, 388},  32             new short[]{8, 55, 61, 76, 85, 98, 111, 127, 186, 230, 241, 247, 267, 287, 327, 341, 344, 347, 359, 364},  33             new short[]{20, 59, 69, 80, 117, 129, 176, 186, 191, 237, 275, 289, 309, 338, 375, 380},  34             new short[]{5, 15, 25, 35, 40, 129, 174, 236, 274, 337, 347},  35             new short[]{14, 22, 47, 56, 87, 120, 129, 144, 155, 160, 237, 283, 284, 309, 327, 337, 365, 372},  36             new short[]{1, 14, 47, 132, 198, 254, 255, 300, 310, 335, 336, 372},  37             new short[]{2, 36, 64, 96, 125, 176, 184, 190, 211, 271, 308, 315, 367},  38             new short[]{20, 76, 79, 81, 110, 117, 120, 129, 182, 192, 235, 353, 378},  39             new short[]{37, 83, 88, 92, 111, 127, 243, 303, 324, 325, 348, 353, 359, 371, 377},  40             new short[]{5, 87, 90, 124, 127, 180, 259, 288, 290, 302, 312, 313, 324, 332},  41             new short[]{55, 62, 89, 98, 108, 132, 168, 240, 248, 322, 325, 327, 347, 353, 391, 396},  42             new short[]{4, 8, 13, 35, 37, 39, 41, 64, 111, 174, 212, 245, 248, 251, 263, 288, 335, 373, 375},  43             new short[]{10, 39, 93, 110, 168, 227, 228, 254, 288, 336, 378, 381},  44             new short[]{75, 92, 122, 176, 198, 211, 214, 283, 334, 353, 359, 379, 386},  45             new short[]{5, 8, 13, 19, 57, 87, 104, 125, 130, 176, 202, 249, 252, 290, 309, 391},  46             new short[]{88, 132, 173, 176, 235, 247, 253, 292, 324, 328, 339, 359},  47             new short[]{19, 32, 61, 84, 87, 118, 120, 125, 129, 132, 181, 190, 288, 290, 331, 355, 359, 366},  48             new short[]{13, 25, 46, 126, 140, 157, 165, 225, 226, 252, 288, 304, 327, 353, 378},  49             new short[]{12, 14, 26, 56, 72, 95, 131, 132, 134, 142, 253, 298, 337, 361, 391},  50             new short[]{4, 18, 37, 49, 87, 93, 196, 225, 226, 246, 248, 250, 255, 310, 354, 358},  51             new short[]{64, 87, 110, 111, 128, 135, 151, 165, 177, 188, 191, 268, 312, 334, 352, 354, 357, 371},  52             new short[]{10, 17, 19, 30, 40, 48, 81, 97, 125, 129, 130, 182, 234, 305, 328, 393},  53             new short[]{13, 69, 80, 114, 192, 200, 235, 343, 345, 353, 354, 360, 374, 378, 383},  54             new short[]{83, 87, 94, 105, 107, 124, 144, 153, 219, 290, 298, 324, 349, 358, 367},  55             new short[]{10, 36, 142, 169, 221, 232, 241, 246, 346, 347, 375, 383, 390},  56             new short[]{26, 104, 126, 143, 176, 186, 241, 247, 250, 318, 320, 333, 360},  57             new short[]{66, 92, 116, 148, 191, 215, 254, 333, 334, 335, 336, 351, 353, 358, 380},  58             new short[]{9, 37, 55, 56, 76, 79, 90, 111, 122, 124, 161, 192, 247, 313, 353, 359, 374},  59             new short[]{17, 30, 34, 56, 64, 68, 90, 125, 151, 168, 176, 188, 286, 333, 338, 360},  60             new short[]{26, 143, 173, 182, 190, 194, 246, 284, 286, 328, 333, 355, 357, 360, 362, 363, 377, 380},  61             new short[]{1, 13, 87, 122, 168, 171, 186, 201, 297, 328, 349, 352, 380},  62             new short[]{18, 39, 61, 88, 98, 123, 129, 131, 148, 162, 165, 243, 285, 314, 340, 349, 360, 377, 378},  63             new short[]{67, 98, 117, 118, 122, 128, 156, 174, 184, 207, 244, 250, 330, 335, 342, 372, 375},  64             new short[]{13, 38, 63, 160, 180, 185, 189, 190, 219, 248, 253, 275, 297, 318, 355},  65             new short[]{1, 44, 47, 93, 107, 172, 235, 276, 281, 287, 290, 306, 333, 334, 337, 347, 353, 376},  66             new short[]{13, 15, 32, 125, 127, 157, 165, 176, 236, 344, 350, 381},  67             new short[]{47, 65, 93, 134, 159, 174, 218, 282, 318, 336, 358, 373, 379},  68             new short[]{7, 17, 40, 66, 102, 141, 154, 159, 165, 172, 174, 177, 328, 329, 334, 348, 379, 382},  69             new short[]{4, 34, 36, 76, 79, 122, 127, 138, 176, 241, 267, 309, 334, 367, 382},  70             new short[]{9, 17, 33, 46, 90, 103, 125, 138, 144, 157, 185, 198, 224, 250, 260, 291, 326, 343, 349, 377, 381},  71             new short[]{29, 31, 53, 58, 134, 138, 193, 287, 305, 308, 333, 334},  72             new short[]{13, 64, 83, 93, 129, 192, 227, 244, 397},  73             new short[]{7, 8, 14, 78, 85, 103, 138, 175, 176, 200, 203, 234, 301, 313, 361},  74             new short[]{13, 75, 87, 111, 244, 253, 288, 321, 339, 341, 357, 395},  75             new short[]{4, 14, 42, 64, 69, 108, 110, 117, 122, 131, 159, 163, 188, 198, 200, 206, 244, 292, 300, 354, 390},  76             new short[]{14, 37, 73, 87, 129, 135, 144, 176, 182, 300, 346, 352, 380, 383},  77             new short[]{23, 50, 87, 143, 171, 186, 191, 223, 290, 333, 334, 364, 378, 380, 388, 391, 393},  78             new short[]{5, 14, 23, 36, 62, 71, 76, 95, 99, 128, 176, 211, 229, 357},  79             new short[]{12, 33, 47, 70, 81, 90, 97, 119, 122, 131, 189, 190, 191, 235, 244, 253, 320, 350, 359},  80             new short[]{10, 13, 23, 93, 110, 120, 135, 171, 195, 250, 293, 298, 329, 344, 354},  81             new short[]{13, 29, 37, 163, 169, 200, 211, 214, 217, 236, 246, 249, 282, 327, 349, 353, 362, 372},  82             new short[]{5, 13, 23, 41, 57, 62, 76, 89, 111, 135, 195, 234, 248, 314, 334, 341, 349, 380},  83             new short[]{17, 35, 57, 117, 121, 206, 235, 243, 265, 329, 358, 374},  84             new short[]{13, 28, 41, 55, 69, 101, 103, 126, 138, 198, 267, 276, 288, 313, 334, 335, 339, 354, 376, 383, 394},  85             new short[]{11, 13, 19, 36, 38, 58, 75, 124, 232, 235, 265, 286, 298, 330, 333, 359},  86             new short[]{4, 19, 25, 43, 110, 125, 165, 331, 334, 341, 349, 355, 372},  87             new short[]{40, 55, 64, 70, 117, 126, 127, 135, 160, 172, 173, 186, 270, 318, 338, 344, 378},  88             new short[]{122, 176, 198, 238, 246, 284, 286, 290, 318, 329, 337, 381, 394},  89             new short[]{23, 36, 37, 44, 117, 124, 198, 204, 233, 248, 282, 288, 297, 314, 332, 336, 388},  90             new short[]{15, 33, 54, 64, 75, 85, 115, 127, 165, 196, 229, 237, 254, 307, 327, 335, 349, 383},  91             new short[]{22, 87, 121, 127, 161, 180, 248, 250, 276, 313, 324, 347, 349, 355, 357, 359},  92             new short[]{14, 48, 67, 88, 130, 131, 172, 188, 195, 203, 267, 282, 333, 339, 350, 392},  93             new short[]{22, 31, 37, 98, 118, 132, 135, 137, 142, 151, 243, 244, 282, 305, 333, 349, 350, 351, 353, 358, 374},  94             new short[]{15, 42, 67, 75, 125, 134, 189, 255, 261, 309, 334, 350, 380, 382},  95             new short[]{10, 39, 87, 97, 105, 109, 125, 137, 225, 226, 253, 329, 341, 354, 363, 372},  96             new short[]{5, 17, 42, 64, 80, 111, 120, 169, 175, 206, 237, 267, 288, 290, 324, 351, 364, 390},  97             new short[]{3, 33, 55, 75, 91, 97, 103, 132, 187, 220, 232, 234, 240, 288, 301, 330, 336, 337, 338, 340, 359, 374, 380, 382},  98             new short[]{13, 87, 98, 125, 126, 127, 128, 250, 330, 341, 353, 360, 374, 382, 391},  99             new short[]{59, 66, 75, 125, 135, 172, 192, 230, 231, 255, 256, 276, 300, 306, 339, 349, 353, 390}, 100             new short[]{25, 36, 56, 90, 107, 125, 127, 142, 165, 195, 244, 246, 319, 347, 355, 375, 380}, 101             new short[]{2, 33, 35, 36, 72, 74, 87, 92, 111, 131, 145, 176, 244, 248, 282, 333, 355, 359}, 102             new short[]{5, 39, 127, 134, 137, 200, 240, 283, 284, 343, 344, 372}, 103             new short[]{9, 32, 37, 80, 96, 104, 110, 117, 154, 176, 244, 297, 298, 339, 353, 374, 381}, 104             new short[]{38, 51, 64, 76, 80, 93, 96, 134, 150, 173, 275, 290, 340, 347, 359, 363, 380}, 105             new short[]{55, 89, 111, 126, 157, 159, 162, 182, 188, 244, 253, 280, 334, 359, 384, 398}, 106             new short[]{59, 64, 75, 81, 97, 105, 115, 125, 155, 198, 248, 262, 319, 323, 376}, 107             new short[]{13, 41, 76, 125, 127, 130, 134, 135, 159, 167, 183, 229, 230, 240, 246, 308, 319, 329, 333, 334, 340, 344, 363, 382}, 108             new short[]{8, 13, 19, 31, 70, 76, 79, 96, 127, 153, 163, 165, 184, 227, 230, 247, 255, 336, 337, 348, 353, 357, 361, 362}, 109             new short[]{71, 87, 111, 121, 130, 142, 150, 160, 175, 224, 248, 314, 336, 353, 357, 359}, 110             new short[]{67, 84, 101, 130, 287, 288, 332, 333, 359, 361, 377}, 111             new short[]{34, 52, 90, 100, 125, 135, 165, 173, 320, 341, 352, 359, 382, 392}, 112             new short[]{13, 18, 39, 55, 62, 87, 248, 255, 290, 327, 349, 353, 355, 360, 383}, 113             new short[]{1, 9, 12, 29, 32, 36, 82, 139, 140, 149, 153, 165, 167, 180, 185, 231, 241, 244, 274, 299, 309, 329, 355, 362}, 114             new short[]{48, 66, 98, 107, 120, 122, 125, 135, 190, 195, 198, 215, 253, 256, 280, 282, 307, 320, 334, 349, 353, 355}, 115             new short[]{1, 7, 13, 25, 64, 98, 139, 144, 166, 176, 206, 236, 262, 330, 362}, 116             new short[]{37, 55, 116, 123, 125, 131, 165, 234, 266, 276, 328, 329, 342, 349, 353, 359, 391}, 117             new short[]{126, 137, 191, 215, 239, 288, 290, 321, 324, 333, 334, 338, 349, 353, 362, 379}, 118             new short[]{50, 57, 87, 93, 98, 115, 134, 148, 174, 229, 251, 260, 285, 298, 313, 348, 349, 350}, 119             new short[]{5, 13, 31, 45, 69, 81, 108, 122, 127, 160, 165, 176, 179, 237, 244, 301, 316, 352, 360}, 120             new short[]{5, 87, 95, 98, 101, 132, 135, 159, 167, 190, 203, 217, 234, 235, 247, 289, 333, 341, 343, 352}, 121             new short[]{22, 56, 66, 85, 87, 93, 126, 127, 163, 230, 243, 248, 254, 280, 301, 305, 334, 357}, 122             new short[]{13, 19, 53, 59, 76, 91, 117, 122, 195, 298, 303, 309, 337, 345, 398}, 123             new short[]{9, 54, 84, 107, 125, 127, 135, 144, 156, 173, 176, 202, 215, 231, 234, 246, 266, 282, 335, 336, 347, 351, 374}, 124             new short[]{11, 15, 30, 31, 40, 57, 58, 87, 88, 113, 186, 244, 245, 256, 308, 334, 377}, 125             new short[]{62, 111, 176, 196, 228, 231, 288, 294, 302, 306, 350, 353, 375, 378, 392}, 126             new short[]{119, 131, 133, 154, 161, 179, 198, 232, 234, 265, 301, 314, 344, 353, 378}, 127             new short[]{67, 84, 123, 172, 175, 176, 182, 229, 290, 359, 360, 375, 383, 393}, 128             new short[]{33, 36, 39, 102, 116, 136, 137, 208, 234, 256, 307, 329, 341, 347, 376, 380}, 129             new short[]{13, 27, 32, 80, 95, 108, 131, 165, 167, 180, 190, 200, 235, 241, 244, 323, 330, 339, 372}, 130             new short[]{1, 18, 37, 62, 67, 82, 85, 118, 125, 147, 159, 169, 174, 243, 284, 307, 313, 318, 355, 391, 396}, 131             new short[]{10, 87, 91, 135, 169, 176, 215, 246, 267, 282, 295, 320, 345, 353, 380}, 132             new short[]{2, 11, 13, 29, 90, 124, 131, 132, 170, 174, 176, 229, 246, 258, 298, 336, 344, 349}, 133             new short[]{14, 37, 42, 71, 128, 152, 185, 218, 288, 304, 315, 353, 362, 380, 391}, 134             new short[]{17, 20, 36, 73, 93, 128, 163, 194, 211, 217, 282, 290, 320, 354, 383}, 135             new short[]{9, 26, 32, 101, 127, 169, 178, 183, 191, 236, 244, 310, 330, 336, 345, 353, 360, 372, 380, 394}, 136             new short[]{7, 13, 64, 78, 81, 90, 115, 133, 164, 169, 244, 246, 269, 278, 290, 292, 310, 320, 353, 360, 364, 366, 380}, 137             new short[]{8, 65, 81, 84, 91, 126, 129, 158, 183, 184, 194, 254, 262, 333, 334, 339, 351, 363, 382}, 138             new short[]{44, 87, 96, 97, 125, 161, 173, 177, 183, 188, 189, 209, 235, 288, 315, 334, 351}, 139             new short[]{50, 56, 60, 62, 67, 71, 105, 149, 154, 158, 164, 167, 185, 221, 285, 288, 308, 337, 344, 353}, 140             new short[]{6, 10, 37, 62, 74, 79, 81, 128, 139, 154, 167, 198, 228, 244, 267, 290, 302, 368, 394}, 141             new short[]{6, 30, 35, 36, 62, 65, 71, 112, 153, 163, 167, 180, 186, 195, 249, 286, 303, 329, 334}, 142             new short[]{158, 241, 282, 324, 332, 334, 351, 353, 363, 365}, 143             new short[]{17, 89, 117, 144, 165, 180, 185, 198, 229, 244, 290, 334, 335, 380}, 144             new short[]{20, 32, 45, 57, 64, 66, 120, 135, 144, 176, 192, 244, 297, 301, 354, 381}, 145             new short[]{1, 7, 35, 62, 74, 122, 159, 170, 172, 238, 239, 307, 308, 338, 349, 350, 359, 366, 368, 375, 382, 383}, 146             new short[]{7, 9, 23, 66, 92, 103, 111, 135, 182, 203, 246, 247, 265, 285, 288, 303, 317, 329, 348}, 147             new short[]{13, 39, 74, 87, 127, 135, 144, 193, 212, 243, 270, 290, 303, 315, 375, 376}, 148             new short[]{33, 36, 40, 59, 101, 120, 127, 244, 285, 287, 309, 339, 391}, 149             new short[]{4, 10, 39, 195, 268, 284, 336, 354, 359, 375, 381}, 150             new short[]{39, 42, 62, 79, 83, 84, 101, 109, 132, 138, 202, 215, 277, 353, 358, 359}, 151             new short[]{10, 39, 46, 73, 84, 87, 132, 170, 192, 219, 232, 246, 288, 320, 337}, 152             new short[]{10, 12, 56, 87, 91, 101, 132, 227, 254, 301, 303, 333, 343, 347, 351}, 153             new short[]{7, 8, 15, 18, 82, 105, 130, 232, 250, 290, 316, 332, 348, 350}, 154             new short[]{36, 109, 110, 125, 154, 191, 193, 246, 265, 348, 349, 350, 378, 383}, 155             new short[]{12, 16, 45, 57, 87, 92, 101, 105, 129, 130, 155, 167, 218, 292, 293, 327, 349, 354, 361}, 156             new short[]{30, 59, 64, 121, 125, 149, 163, 188, 212, 250, 348, 350, 351, 352, 353, 378, 380}, 157             new short[]{1, 69, 130, 138, 194, 200, 239, 260, 264, 357, 380, 381, 382, 396}, 158             new short[]{7, 10, 19, 40, 57, 61, 125, 137, 141, 212, 239, 251, 310, 333, 347, 359, 380, 383}, 159             new short[]{20, 28, 50, 97, 109, 134, 157, 162, 184, 199, 244, 246, 286, 352, 353, 360, 373, 380}, 160             new short[]{35, 62, 87, 96, 122, 127, 136, 142, 148, 155, 165, 186, 196, 227, 354, 380, 388}, 161             new short[]{81, 82, 101, 115, 125, 200, 243, 313, 351, 359, 367}, 162             new short[]{7, 19, 40, 61, 107, 108, 124, 154, 161, 244, 309, 329, 345, 379, 394}, 163             new short[]{10, 27, 48, 66, 75, 103, 116, 122, 128, 221, 228, 319, 322, 350, 377, 398}, 164             new short[]{2, 64, 74, 117, 130, 165, 172, 180, 191, 218, 221, 288, 299, 325, 347, 353, 355, 360}, 165             new short[]{5, 76, 79, 87, 106, 111, 137, 168, 180, 235, 243, 288, 315, 321, 338, 344, 348, 378, 382, 383}, 166             new short[]{0, 29, 31, 37, 40, 50, 88, 100, 129, 134, 137, 144, 174, 186, 203, 254, 310, 313, 329, 341, 359, 364}, 167             new short[]{69, 70, 71, 96, 115, 121, 130, 157, 159, 200, 230, 246, 250, 299, 318, 324, 353, 359, 380, 391}, 168             new short[]{7, 90, 95, 116, 127, 128, 135, 137, 141, 154, 161, 254, 330, 359, 379, 388}, 169             new short[]{10, 14, 56, 91, 108, 125, 130, 167, 211, 228, 246, 258, 280, 306, 324, 333, 336, 338, 379}, 170             new short[]{4, 5, 14, 57, 85, 98, 125, 135, 136, 176, 254, 334, 336, 337, 351, 358, 362, 379, 383}, 171             new short[]{1, 4, 13, 18, 19, 32, 50, 60, 62, 87, 117, 176, 211, 251, 329, 343, 359}, 172             new short[]{38, 56, 94, 103, 117, 125, 129, 144, 159, 176, 244, 251, 253, 324, 345, 353, 386, 390}, 173             new short[]{4, 22, 38, 47, 59, 64, 82, 97, 110, 135, 153, 176, 235, 236, 241, 287, 288, 303, 333, 347, 358, 359, 361}, 174             new short[]{2, 5, 20, 52, 97, 125, 127, 132, 135, 137, 174, 188, 191, 243, 288, 310, 334, 346, 348, 349, 362, 372, 378}, 175             new short[]{19, 35, 55, 98, 125, 131, 134, 147, 153, 246, 255, 390}, 176             new short[]{5, 59, 62, 129, 136, 153, 198, 225, 235, 239, 254, 295, 334, 338, 341, 359, 361}, 177             new short[]{8, 13, 51, 94, 121, 122, 125, 126, 129, 240, 272, 290, 297, 323, 352, 358, 376, 391, 395}, 178             new short[]{6, 111, 116, 122, 125, 131, 135, 164, 175, 200, 212, 221, 267, 287, 319, 328, 334, 344, 378}, 179             new short[]{83, 108, 143, 172, 176, 192, 198, 246, 262, 286, 287, 308, 338, 340, 343, 348, 353, 367, 380, 383}, 180             new short[]{39, 82, 92, 118, 126, 128, 144, 171, 211, 234, 244, 253, 328, 333, 339, 357, 359, 380}, 181             new short[]{37, 62, 64, 81, 97, 122, 125, 127, 137, 211, 246, 344, 360}, 182             new short[]{7, 29, 62, 67, 69, 81, 87, 107, 132, 151, 160, 229, 244, 284, 285, 317, 358, 387, 390}, 183             new short[]{13, 75, 76, 83, 87, 154, 165, 190, 212, 258, 285, 308, 309, 316, 320, 332, 336, 340, 352, 353, 354, 358, 383}, 184             new short[]{9, 19, 29, 46, 122, 125, 127, 130, 170, 171, 174, 180, 182, 232, 282, 290, 359, 362, 367}, 185             new short[]{13, 40, 71, 98, 101, 116, 125, 127, 169, 172, 175, 283, 288, 309, 311, 313, 323, 334, 353, 391}, 186             new short[]{3, 9, 70, 104, 118, 173, 200, 219, 246, 262, 288, 297, 309, 328, 329, 334, 341, 353}, 187             new short[]{32, 89, 93, 131, 132, 142, 199, 200, 214, 246, 287, 298, 307, 339, 348, 349, 357, 358, 368, 372, 391}, 188             new short[]{103, 134, 159, 176, 186, 235, 261, 276, 282, 290, 301, 317, 329, 345, 356}, 189             new short[]{10, 59, 125, 129, 130, 192, 217, 283, 318, 343, 345, 349, 353, 380, 383, 392}, 190             new short[]{19, 76, 79, 102, 107, 126, 155, 161, 180, 253, 288, 289, 290, 314, 329, 333, 334, 360, 368, 378, 394}, 191             new short[]{12, 92, 98, 105, 137, 149, 172, 196, 198, 244, 260, 262, 282, 298, 329, 345, 353, 368, 390}, 192             new short[]{31, 39, 79, 83, 121, 125, 167, 171, 186, 198, 288, 303, 306, 334, 337, 376}, 193             new short[]{13, 20, 36, 57, 98, 108, 114, 165, 171, 225, 226, 262, 269, 305, 309, 351, 377, 389}, 194             new short[]{13, 51, 71, 93, 110, 129, 130, 156, 165, 170, 173, 183, 191, 200, 211, 212, 255, 266, 299, 301, 329, 336, 348}, 195             new short[]{31, 56, 97, 122, 125, 129, 160, 188, 202, 204, 206, 225, 235, 247, 254, 255, 288, 334, 350, 362, 365, 367}, 196             new short[]{9, 32, 37, 70, 75, 87, 88, 96, 125, 130, 162, 163, 168, 169, 257, 285, 308, 310, 337, 373, 392}, 197             new short[]{18, 40, 42, 47, 73, 76, 85, 105, 108, 125, 130, 132, 134, 167, 191, 284, 310, 311, 344, 358, 361, 374, 378, 379}, 198             new short[]{5, 19, 29, 31, 48, 65, 98, 129, 131, 143, 165, 171, 172, 196, 198, 277, 296, 311, 317, 327, 351, 380}, 199             new short[]{51, 69, 96, 98, 117, 123, 130, 131, 148, 161, 168, 172, 176, 184, 202, 324, 332, 336, 348, 392}, 200             new short[]{1, 20, 37, 57, 70, 76, 79, 87, 165, 176, 234, 251, 333, 388}, 201             new short[]{8, 13, 134, 135, 153, 165, 169, 193, 195, 255, 273, 337, 348, 359, 360, 382, 391}, 202             new short[]{2, 14, 53, 71, 83, 127, 136, 144, 149, 208, 234, 235, 293, 301, 347, 352}, 203             new short[]{20, 40, 42, 95, 135, 141, 165, 199, 250, 290, 299, 308, 337, 338, 350, 353, 354, 355, 358, 380}, 204             new short[]{13, 19, 33, 35, 36, 49, 85, 121, 122, 127, 137, 158, 165, 282, 303, 320, 328, 334, 365, 367, 374}, 205             new short[]{17, 37, 123, 126, 127, 139, 140, 143, 167, 185, 192, 235, 254, 275, 315, 340, 349, 353, 362}, 206             new short[]{57, 72, 127, 159, 163, 165, 176, 199, 215, 218, 238, 254, 284, 288, 336, 339, 347, 352, 380, 395}, 207             new short[]{54, 69, 81, 101, 114, 121, 165, 206, 236, 313, 332, 338, 349, 358, 360, 362, 377}, 208             new short[]{29, 37, 43, 120, 127, 176, 193, 244, 246, 254, 284, 288, 336, 339, 372}, 209             new short[]{36, 56, 85, 122, 125, 126, 154, 232, 282, 308, 314, 315, 324, 336, 353, 359, 382}, 210             new short[]{7, 99, 104, 117, 124, 125, 143, 176, 239, 298, 318, 383}, 211             new short[]{13, 20, 71, 90, 108, 122, 176, 186, 214, 231, 247, 262, 267, 280, 286, 300, 332, 358, 377, 380, 385, 390, 393}, 212             new short[]{31, 65, 75, 79, 85, 91, 109, 110, 120, 159, 229, 235, 288, 298, 347, 355, 359, 379, 381}, 213             new short[]{38, 75, 82, 90, 99, 202, 248, 265, 324, 329, 350, 354, 355, 365}, 214             new short[]{7, 15, 72, 90, 117, 125, 140, 144, 171, 198, 269, 271, 282, 305, 325, 338, 343, 353}, 215             new short[]{13, 14, 20, 29, 37, 42, 45, 47, 165, 184, 244, 329, 341, 347, 372}, 216             new short[]{31, 36, 82, 99, 149, 154, 173, 182, 185, 200, 217, 251, 298, 329, 332, 333, 349, 353, 354, 355, 377, 383}, 217             new short[]{32, 44, 45, 52, 93, 97, 108, 114, 120, 144, 155, 172, 236, 240, 267, 272, 282, 288, 329, 333, 334, 343, 381}, 218             new short[]{35, 55, 57, 62, 95, 96, 98, 127, 131, 177, 262, 317, 318, 357, 359, 380, 388}, 219             new short[]{22, 24, 68, 103, 115, 119, 120, 125, 128, 156, 162, 184, 186, 235, 244, 327, 353, 358, 378, 380, 393}, 220             new short[]{29, 37, 62, 67, 81, 83, 93, 104, 110, 129, 132, 142, 172, 274, 298, 354, 380}, 221             new short[]{19, 45, 66, 87, 104, 108, 118, 155, 170, 176, 234, 286, 310, 313, 327, 329, 333, 347, 358, 368, 380, 383, 386}, 222             new short[]{10, 14, 32, 83, 96, 131, 165, 180, 205, 211, 249, 255, 286, 288, 292, 299, 312, 336, 338, 349, 368, 375}, 223             new short[]{2, 13, 48, 75, 85, 98, 116, 125, 126, 128, 135, 136, 151, 188, 195, 243, 280, 289, 333, 339, 349, 378, 382}, 224             new short[]{9, 19, 39, 45, 87, 106, 117, 125, 126, 127, 154, 165, 202, 211, 256, 309, 360, 397, 398}, 225             new short[]{14, 21, 65, 76, 87, 93, 97, 105, 131, 177, 212, 254, 294, 336, 349, 359, 381}, 226             new short[]{36, 55, 65, 70, 87, 93, 96, 98, 108, 127, 254, 337, 352, 359, 375, 380}, 227             new short[]{22, 42, 62, 82, 131, 132, 136, 158, 168, 196, 267, 305, 336}, 228             new short[]{45, 69, 74, 75, 81, 120, 123, 126, 127, 130, 150, 171, 191, 194, 313, 339, 368, 378, 379, 389, 398}, 229             new short[]{35, 43, 85, 98, 122, 131, 135, 176, 189, 250, 259, 277, 288, 303, 333, 336, 345, 376, 381, 387}, 230             new short[]{1, 6, 34, 87, 115, 129, 131, 202, 235, 252, 256, 263, 317, 328, 349, 372, 391}, 231             new short[]{3, 18, 42, 48, 84, 90, 92, 138, 193, 227, 288, 310, 315, 353, 375}, 232             new short[]{2, 10, 31, 66, 124, 145, 240, 314, 334}, 233             new short[]{32, 38, 84, 141, 165, 188, 193, 212, 346, 359, 379, 380}, 234             new short[]{10, 75, 81, 96, 111, 140, 179, 298, 309, 353, 357, 359, 380, 396}, 235             new short[]{2, 34, 121, 127, 132, 134, 184, 234, 244, 251, 262, 290, 308, 359, 380}, 236             new short[]{17, 24, 93, 172, 186, 198, 218, 234, 239, 250, 252, 255, 307, 309, 325, 334, 354, 359}, 237             new short[]{14, 18, 45, 50, 131, 174, 211, 237, 252, 267, 309, 334, 348, 351, 377, 391}, 238             new short[]{32, 61, 87, 97, 125, 126, 132, 184, 249, 252, 273, 284, 288, 339, 383, 398}, 239             new short[]{76, 81, 87, 127, 147, 161, 163, 199, 206, 306, 329, 340, 349, 353, 360, 383}, 240             new short[]{14, 16, 76, 87, 101, 169, 188, 243, 246, 251, 253, 269, 298, 355, 375, 380}, 241             new short[]{32, 79, 87, 103, 117, 125, 127, 177, 244, 301, 305, 317, 333, 338, 340, 342, 391}, 242             new short[]{4, 67, 76, 121, 127, 130, 140, 158, 165, 186, 193, 251, 301, 303, 330, 336}, 243             new short[]{11, 76, 83, 84, 87, 214, 248, 276, 299, 311, 320, 329, 332, 335, 371}, 244             new short[]{2, 4, 19, 40, 42, 71, 98, 119, 121, 137, 167, 262, 288, 295, 306, 339, 350, 382}, 245             new short[]{14, 40, 54, 90, 125, 129, 132, 146, 147, 165, 169, 176, 190, 253, 284, 303, 307, 316, 339, 342, 359, 389}, 246             new short[]{47, 59, 71, 103, 125, 126, 129, 130, 200, 206, 240, 254, 276, 282, 299, 303, 307, 318, 320, 336, 338, 357, 362, 380, 387, 392}, 247             new short[]{4, 22, 58, 102, 113, 115, 153, 167, 188, 212, 262, 286, 305, 333, 348, 354, 360, 371, 379, 386}, 248             new short[]{5, 6, 56, 61, 108, 128, 129, 164, 165, 177, 182, 225, 226, 235, 244, 246, 249, 310, 333, 348, 349, 381, 391}, 249             new short[]{18, 32, 33, 53, 56, 176, 186, 199, 200, 244, 246, 248, 259, 285, 289, 306, 358, 371, 373, 375, 379}, 250             new short[]{40, 43, 70, 76, 83, 84, 90, 93, 101, 125, 159, 204, 276, 282, 304, 320, 339, 351, 353, 367, 391}, 251             new short[]{14, 19, 59, 71, 76, 87, 93, 97, 105, 111, 120, 121, 122, 154, 171, 211, 231, 244, 286, 288, 341, 351}, 252             new short[]{10, 56, 65, 72, 92, 108, 123, 129, 212, 258, 329, 353, 359}, 253             new short[]{5, 76, 124, 127, 161, 172, 188, 244, 250, 266, 290, 318, 347, 351, 369, 382, 391, 395}, 254             new short[]{1, 33, 86, 120, 121, 130, 154, 162, 173, 192, 241, 244, 262, 338, 339, 343, 353, 380, 390}, 255             new short[]{1, 15, 22, 54, 57, 85, 126, 127, 176, 188, 248, 305, 332, 347, 349, 358, 367}, 256             new short[]{91, 111, 122, 125, 130, 178, 190, 224, 225, 226, 235, 286, 308, 329, 334, 345, 346, 349, 358, 362, 367}, 257             new short[]{16, 26, 51, 54, 84, 85, 98, 120, 272, 319, 349, 359, 360, 362, 377, 391, 398}, 258             new short[]{73, 85, 102, 109, 128, 153, 171, 184, 248, 249, 256, 298, 300, 335, 338, 340, 355, 370}, 259             new short[]{9, 108, 122, 131, 164, 168, 173, 176, 195, 218, 235, 286, 341, 350, 353, 358, 375, 377}, 260             new short[]{25, 62, 125, 140, 165, 173, 200, 225, 226, 243, 283, 286, 329, 343, 357, 366, 377}, 261             new short[]{10, 35, 58, 64, 98, 103, 125, 127, 129, 135, 141, 165, 169, 175, 189, 244, 258, 259, 306, 331, 333, 378, 380, 391}, 262             new short[]{54, 87, 89, 99, 116, 125, 129, 221, 246, 269, 324, 335, 348, 351}, 263             new short[]{85, 90, 103, 115, 131, 134, 165, 207, 282, 307, 313, 328, 346, 349, 380, 383, 387, 398}, 264             new short[]{10, 40, 74, 84, 160, 239, 253, 272, 282, 333, 344, 351, 359, 360, 379}, 265             new short[]{32, 38, 54, 74, 76, 117, 163, 171, 176, 217, 227, 250, 251, 280, 329, 330, 350, 378}, 266             new short[]{13, 20, 40, 107, 129, 135, 154, 158, 161, 163, 179, 206, 281, 315, 325, 351, 355, 359, 397}, 267             new short[]{0, 4, 37, 49, 62, 98, 117, 129, 177, 244, 285, 289, 306, 338, 360, 381}, 268             new short[]{36, 38, 43, 61, 71, 87, 120, 128, 172, 200, 235, 247, 251, 282, 299, 329, 341, 352, 355}, 269             new short[]{43, 71, 83, 85, 108, 117, 118, 121, 133, 138, 165, 206, 231, 254, 290, 291, 335, 336, 359, 362, 377}, 270             new short[]{29, 32, 71, 103, 122, 125, 198, 224, 244, 285, 303, 333, 335, 337}, 271             new short[]{54, 55, 82, 87, 101, 108, 127, 229, 230, 269, 290, 306, 349, 353}, 272             new short[]{9, 117, 126, 137, 154, 165, 167, 186, 192, 229, 277, 283, 301, 317, 365, 367, 372, 378}, 273             new short[]{4, 11, 19, 47, 51, 92, 110, 132, 137, 140, 290, 298, 361, 377, 379}, 274             new short[]{23, 83, 98, 134, 165, 170, 186, 190, 253, 269, 308, 322, 327, 332, 335, 344, 398}, 275             new short[]{60, 83, 111, 129, 173, 176, 186, 232, 306, 327, 329, 349, 355}, 276             new short[]{25, 31, 40, 56, 72, 95, 126, 144, 149, 161, 173, 240, 262, 332, 333, 356, 368, 391, 394}, 277             new short[]{91, 127, 134, 144, 155, 158, 161, 232, 251, 280, 287, 353, 380, 394}, 278             new short[]{37, 43, 57, 84, 87, 149, 175, 288, 330, 380}, 279             new short[]{8, 9, 83, 97, 120, 128, 158, 171, 193, 232, 287, 308, 309, 334, 355}, 280             new short[]{39, 40, 62, 82, 94, 98, 101, 144, 147, 205, 290, 333, 339, 353, 372, 397}, 281             new short[]{10, 20, 38, 125, 135, 138, 168, 180, 191, 203, 231, 250, 280, 301, 328, 345, 388}, 282             new short[]{44, 54, 64, 87, 117, 122, 127, 154, 234, 239, 244, 298, 329, 378, 383}, 283             new short[]{13, 62, 70, 97, 121, 176, 244, 267, 282, 318, 324, 334, 341, 353, 386, 388}, 284             new short[]{40, 89, 91, 117, 125, 131, 155, 173, 193, 244, 273, 277, 328, 333, 360, 382}, 285             new short[]{30, 47, 95, 108, 127, 165, 188, 211, 273, 349, 354, 368, 391}, 286             new short[]{19, 52, 87, 98, 100, 122, 125, 157, 159, 215, 217, 235, 254, 309, 336, 344, 349, 382}, 287             new short[]{19, 85, 87, 136, 144, 180, 190, 229, 310, 345, 365, 376, 390}, 288             new short[]{35, 52, 87, 113, 124, 135, 145, 167, 174, 225, 226, 244, 247, 300, 359}, 289             new short[]{10, 35, 69, 103, 129, 144, 165, 180, 230, 232, 329, 335, 353, 359, 371, 390}, 290             new short[]{5, 13, 80, 83, 135, 139, 142, 176, 179, 190, 205, 217, 282, 298, 308, 334, 353, 359}, 291             new short[]{24, 52, 67, 108, 135, 138, 153, 176, 231, 249, 283, 304, 337, 351, 353, 355}, 292             new short[]{90, 93, 127, 132, 136, 163, 165, 196, 284, 306, 353, 383}, 293             new short[]{20, 37, 103, 126, 135, 184, 204, 215, 221, 288, 300, 329, 339, 358, 383}, 294             new short[]{16, 36, 52, 99, 117, 136, 171, 190, 243, 244, 303, 315, 333, 349, 373, 382}, 295             new short[]{0, 57, 69, 98, 125, 129, 132, 158, 165, 190, 191, 193, 198, 254, 256, 285, 288, 303, 339, 346, 351, 391}, 296             new short[]{1, 13, 21, 87, 125, 132, 150, 204, 240, 249, 253, 265, 288, 334, 343, 348, 349, 359}, 297             new short[]{29, 40, 71, 80, 91, 99, 122, 203, 289, 290, 298, 329, 353, 380, 390}, 298             new short[]{2, 5, 36, 57, 93, 102, 135, 140, 314, 343, 398}, 299             new short[]{20, 59, 107, 193, 204, 246, 247, 336, 341, 342, 354, 359, 360, 383}, 300             new short[]{47, 71, 93, 111, 116, 120, 122, 130, 251, 286, 298, 299, 348}, 301             new short[]{21, 52, 56, 69, 76, 118, 120, 125, 137, 274, 280, 324, 327, 335, 339, 340}, 302             new short[]{23, 29, 57, 75, 98, 132, 149, 157, 160, 235, 244, 288, 327, 340, 354, 372, 377}, 303             new short[]{4, 22, 97, 103, 111, 129, 131, 151, 158, 176, 204, 248, 265, 309, 359, 391, 392}, 304             new short[]{15, 17, 73, 105, 115, 170, 186, 228, 255, 317, 321, 339, 349, 379, 380, 381}, 305             new short[]{17, 52, 72, 103, 188, 329, 342, 353, 358, 359, 374, 376, 380, 393}, 306             new short[]{40, 48, 74, 124, 135, 191, 225, 226, 237, 291, 300, 304, 310, 347, 359, 380, 396}, 307             new short[]{2, 36, 47, 57, 122, 125, 174, 188, 203, 224, 255, 325, 353, 359, 387}, 308             new short[]{13, 58, 69, 83, 115, 120, 134, 161, 165, 174, 175, 191, 246, 255, 280, 353, 357, 358, 359, 379}, 309             new short[]{1, 29, 47, 87, 89, 135, 176, 190, 209, 236, 304, 344, 348, 358, 359, 378}, 310             new short[]{8, 13, 40, 52, 58, 61, 71, 125, 144, 168, 189, 210, 260, 337, 338, 340, 347, 376, 380}, 311             new short[]{29, 90, 126, 127, 129, 136, 145, 159, 165, 188, 274, 284, 288, 316, 329, 358, 380}, 312             new short[]{2, 19, 103, 120, 123, 159, 165, 175, 177, 180, 238, 244, 251, 294, 329, 342, 345, 349, 357, 376, 392}, 313             new short[]{41, 42, 59, 71, 81, 98, 101, 117, 159, 171, 180, 240, 285, 290, 299, 344, 353}, 314             new short[]{83, 103, 108, 142, 175, 248, 290, 300, 321, 354, 365, 374, 382}, 315             new short[]{12, 67, 105, 130, 140, 171, 188, 192, 244, 276, 290, 302, 348, 349, 357, 360, 380}, 316             new short[]{4, 13, 36, 65, 75, 160, 165, 185, 198, 235, 293, 324, 327, 333, 345, 347, 375, 383}, 317             new short[]{37, 61, 80, 125, 234, 283, 290, 353, 359, 378, 383}, 318             new short[]{9, 32, 83, 110, 155, 248, 252, 288, 313}, 319             new short[]{37, 48, 52, 93, 167, 170, 179, 244, 267, 288, 296, 333, 335, 355, 374}, 320             new short[]{35, 92, 98, 153, 165, 184, 215, 233, 242, 290, 339, 355}, 321             new short[]{9, 38, 83, 121, 127, 165, 176, 235, 253, 305, 330, 337, 355, 358, 359}, 322             new short[]{35, 117, 122, 125, 132, 136, 183, 235, 254, 280, 285, 286, 329, 334, 338, 353, 372}, 323             new short[]{6, 87, 117, 125, 141, 144, 153, 157, 179, 215, 267, 272, 289, 329, 336, 359}, 324             new short[]{7, 14, 37, 82, 135, 147, 154, 202, 244, 290, 297, 298, 345, 355, 368, 383}, 325             new short[]{105, 135, 173, 244, 255, 280, 288, 299, 304, 307, 337, 338, 341, 344}, 326             new short[]{19, 31, 33, 77, 92, 99, 114, 151, 173, 202, 253, 318, 329, 333, 358, 371}, 327             new short[]{1, 8, 14, 30, 39, 120, 157, 172, 227, 229, 251, 257, 272, 339, 380}, 328             new short[]{19, 98, 171, 191, 213, 246, 289, 353, 357, 366, 374, 383}, 329             new short[]{8, 98, 125, 126, 144, 152, 244, 277, 282, 290, 322, 393}, 330             new short[]{17, 206, 211, 224, 336, 338, 386}, 331             new short[]{52, 55, 71, 99, 105, 191, 211, 215, 224, 246, 290, 300, 336, 339, 361}, 332             new short[]{15, 16, 44, 66, 96, 121, 127, 162, 167, 202, 219, 243, 244, 254, 282, 320, 345, 390}, 333             new short[]{7, 83, 92, 121, 130, 160, 177, 280, 308, 309, 339, 350, 352, 358, 380, 390}, 334             new short[]{67, 122, 144, 148, 170, 173, 184, 222, 280, 374}, 335             new short[]{2, 4, 15, 19, 115, 130, 136, 148, 172, 180, 243, 251, 313, 329, 333, 359, 364}, 336             new short[]{90, 98, 108, 124, 167, 176, 202, 254, 286, 351, 359}, 337             new short[]{80, 126, 135, 167, 212, 242, 243, 256, 283, 286, 295, 327, 337, 340, 346, 357, 358, 364}, 338             new short[]{19, 108, 125, 132, 149, 172, 180, 186, 200, 254, 286, 296, 339, 344, 350, 359, 391}, 339             new short[]{62, 65, 67, 105, 127, 129, 132, 250, 298, 307, 334, 344, 359, 383}, 340             new short[]{31, 59, 87, 107, 121, 131, 132, 160, 244, 246, 247, 253, 344, 360, 394}, 341             new short[]{4, 39, 76, 125, 130, 148, 168, 170, 191, 196, 298, 306, 327, 338, 345, 349, 360, 375}, 342             new short[]{13, 14, 32, 84, 98, 122, 126, 156, 188, 235, 255, 330, 336, 338, 375, 380, 389}, 343             new short[]{5, 18, 31, 54, 71, 74, 76, 81, 87, 93, 126, 129, 182, 303, 327, 353, 359, 373, 391}, 344             new short[]{13, 37, 64, 137, 138, 180, 244, 247, 251, 253, 269, 284, 308, 344, 374, 376}, 345             new short[]{5, 7, 10, 23, 35, 125, 168, 169, 187, 191, 192, 313, 337, 340, 342, 365}, 346             new short[]{62, 67, 122, 125, 165, 190, 217, 243, 254, 256, 265, 299, 318, 353, 394}, 347             new short[]{4, 24, 62, 92, 109, 118, 134, 143, 144, 176, 190, 199, 221, 299, 349, 380}, 348             new short[]{22, 35, 64, 74, 92, 113, 161, 172, 193, 282, 287, 307, 359, 393}, 349             new short[]{37, 50, 66, 75, 76, 78, 82, 87, 139, 159, 172, 176, 188, 231, 352, 371}, 350             new short[]{19, 31, 75, 121, 144, 152, 163, 171, 172, 198, 243, 246, 285, 288, 289, 333, 344, 347, 357, 398}, 351             new short[]{1, 15, 17, 51, 57, 65, 69, 127, 241, 244, 254, 259, 329, 336, 358}, 352             new short[]{9, 95, 117, 121, 125, 137, 204, 242, 247, 301, 309, 314, 334, 339, 350, 354, 358}, 353             new short[]{9, 61, 96, 111, 130, 163, 180, 211, 225, 226, 241, 253, 282, 283, 346, 355, 359, 380, 383}, 354             new short[]{94, 117, 121, 124, 126, 130, 135, 172, 199, 232, 286, 325, 336, 352, 362, 375}, 355             new short[]{110, 125, 163, 250, 265, 303, 329, 334, 391}, 356             new short[]{47, 72, 76, 111, 125, 157, 169, 245, 254, 285, 287, 297, 298, 336, 353, 359, 383}, 357             new short[]{62, 93, 115, 125, 127, 130, 174, 231, 308, 310, 329, 333, 355, 359, 390}, 358             new short[]{44, 116, 163, 167, 180, 191, 200, 245, 254, 329, 343, 345, 354, 364}, 359             new short[]{31, 62, 105, 108, 144, 145, 162, 173, 177, 191, 198, 247, 249, 344, 345, 348, 353}, 360             new short[]{29, 65, 66, 74, 83, 87, 125, 148, 165, 228, 334, 353, 359, 380, 383, 391}, 361             new short[]{2, 15, 125, 130, 239, 290, 312, 336, 337, 341, 398}, 362             new short[]{40, 76, 87, 114, 119, 120, 165, 229, 265, 313, 324, 349, 358, 383}, 363             new short[]{48, 62, 87, 91, 103, 186, 195, 212, 214, 315, 322, 327, 330, 338, 339}, 364             new short[]{9, 32, 85, 108, 135, 191, 224, 237, 257, 288, 307, 310, 313, 318, 329, 337, 352, 395}, 365             new short[]{87, 93, 102, 112, 129, 154, 171, 236, 317, 320, 349, 350, 359, 380}, 366             new short[]{1, 14, 92, 111, 137, 140, 186, 290, 329, 336, 354, 355, 378, 379, 383}, 367             new short[]{7, 26, 37, 47, 84, 101, 144, 153, 175, 180, 198, 232, 243, 305, 333, 353, 357, 383}, 368             new short[]{20, 58, 76, 93, 99, 127, 134, 154, 188, 206, 246, 312, 313, 324}, 369             new short[]{2, 12, 117, 125, 160, 167, 188, 206, 279, 285, 287, 301, 329, 332, 333, 336, 344, 362}, 370             new short[]{2, 76, 126, 127, 137, 165, 244, 288, 290, 339, 346, 351, 359, 365, 383}, 371             new short[]{66, 108, 136, 151, 174, 265, 344, 351, 353, 357, 378, 386}, 372             new short[]{8, 76, 87, 90, 111, 116, 124, 176, 198, 334, 337, 349, 359, 379, 394}, 373             new short[]{32, 36, 42, 76, 81, 125, 127, 205, 227, 262, 280, 288, 326, 336, 390, 398}, 374             new short[]{9, 32, 65, 83, 89, 93, 97, 122, 129, 178, 180, 215, 241, 246, 323, 332, 353, 362, 364, 380}, 375             new short[]{5, 24, 56, 127, 130, 155, 184, 191, 217, 235, 245, 339, 344, 358, 359, 362, 380}, 376             new short[]{14, 40, 64, 71, 93, 108, 131, 165, 188, 204, 217, 235, 237, 241, 248, 308, 309, 318, 380, 387}, 377             new short[]{17, 29, 34, 74, 125, 175, 184, 196, 211, 275, 301, 318, 327, 334, 349, 355, 358, 368}, 378             new short[]{15, 45, 110, 111, 116, 129, 132, 211, 247, 275, 286, 317, 333, 334, 377, 383}, 379             new short[]{4, 5, 59, 87, 103, 124, 125, 127, 130, 165, 241, 265, 299, 353, 360}, 380             new short[]{31, 120, 124, 135, 154, 197, 235, 243, 247, 248, 258, 309, 320, 335, 357}, 381             new short[]{50, 125, 127, 130, 137, 147, 171, 172, 267, 289, 301, 308, 325, 334, 337, 353, 360, 374, 391}, 382             new short[]{62, 64, 69, 87, 111, 118, 129, 134, 212, 239, 244, 246, 250, 254, 307, 322, 329, 370, 372}, 383             new short[]{54, 92, 128, 160, 198, 244, 248, 255, 284, 314, 335, 349, 358, 360, 376, 380}, 384             new short[]{9, 13, 29, 54, 72, 89, 110, 122, 126, 139, 158, 159, 163, 230, 304, 306, 313}, 385             new short[]{1, 9, 54, 95, 108, 132, 176, 193, 243, 251, 339, 378}, 386             new short[]{0, 96, 99, 135, 137, 184, 212, 232, 251, 315, 334}, 387             new short[]{140, 157, 165, 182, 235, 294, 314, 349, 354, 365}, 388             new short[]{14, 18, 31, 56, 117, 125, 138, 227, 246, 283, 334, 345, 352, 357, 361}, 389             new short[]{0, 71, 82, 130, 131, 144, 161, 235, 247, 301, 333, 335, 345, 353, 355, 359, 360, 374}, 390             new short[]{6, 23, 35, 117, 125, 141, 169, 200, 244, 288, 298, 338, 353, 379}, 391             new short[]{10, 98, 125, 127, 138, 153, 219, 244, 307, 350, 353, 366, 367}, 392             new short[]{9, 32, 40, 122, 126, 127, 170, 176, 300, 334, 350, 391}, 393             new short[]{6, 13, 31, 87, 89, 97, 125, 165, 171, 173, 176, 244, 331, 348, 373}, 394             new short[]{10, 61, 87, 105, 123, 125, 127, 195, 260, 265, 323, 361, 362}, 395             new short[]{2, 20, 90, 124, 353, 354, 378, 382}, 396             new short[]{5, 48, 58, 83, 98, 117, 125, 126, 196, 198}, 397             new short[]{13, 37, 50, 64, 66, 79, 99, 132, 135, 244, 247, 380}, 398             new short[]{57, 165, 235, 238, 248, 272, 287, 299, 327, 329, 334, 350, 353, 380}, 399             new short[]{55, 66, 118, 125, 130, 169, 250, 255, 271, 314, 324, 338, 353}, 400             new short[]{7, 31, 62, 84, 103, 105, 111, 126, 132, 149, 154, 191, 250, 334, 372, 375}, 401             new short[]{56, 81, 114, 117, 120, 124, 127, 128, 154, 254, 290, 317, 345, 354}, 402             new short[]{4, 13, 86, 101, 153, 191, 193, 231, 243, 258, 283, 288, 308, 353, 387, 392}, 403             new short[]{5, 37, 58, 62, 67, 84, 87, 176, 237, 267, 333, 334, 347}, 404             new short[]{1, 7, 74, 110, 165, 168, 182, 233, 288, 305, 309, 315, 347, 351, 353, 358, 360, 375}, 405             new short[]{57, 84, 129, 138, 165, 243, 244, 259, 280, 282, 290, 380, 383} 406  }; 407  } 408 }
/** * 該類實現了取漢字文本首字母、文本對應拼音、以及 * 獲取和拼音對應的漢字列表等方法。因爲漢字字庫大,且多音字較多,所以本組中實現的 * 拼音轉換不必定和詞語中的字的正確讀音徹底吻合。但絕大部分是正確的。 * * 設計思路: * 將漢字按拼音分組後創建一個字符串數組(見PyCode.codes),而後使用程序 * 將PyCode.codes中每個漢字經過其編碼值使用散列函數: * * f(x) = x % PyCode.codes.Length * g(f(x)) = pos(x) * * 其中, pos(x)爲字符x所屬字符串所在的PyCode.codes的數組下標, 而後散列到同PyCode.codes長度相同長度的一個散列表中PyHash.hashes。 * 當檢索一個漢字的拼音時,首先從PyHash.hashes中獲取和對應的PyCode.codes中數組下標,而後從對應字符串查找, * 當到要查找的字符時,字符串的前6個字符即包含了該字的拼音。 * * 此種方法的好處一是節約了存儲空間,二是兼顧了查詢效率。 */

/* * ================================================================= * v1.2.x的變化 * ================================================================= * 1.增長重構單字符拼音的獲取,未找到拼音時返回特定字符串 * 2.加入標點符號,控制符,10進制數字,空格,小寫字母,大寫字母,特殊符號,分隔符的兼容 * * ================================================================= * v0.2.x的變化 * ================================================================= * 一、增長對不一樣編碼格式文本的支持,同時增長編碼轉換方法Pinyin.ConvertEncoding * 二、重構單字符拼音的獲取,未找到拼音時返回字符自己. */
using System.Text; namespace Miraclesoft.Common.Utility.PinYin { /// <summary>
    /// Public PinYin API /// </summary>
    public static class PyTools { #region 取文本的拼音首字母

        /// <summary>
        /// 取中文文本的拼音首字母 /// </summary>
        /// <param name="text">編碼爲UTF8的文本</param>
        /// <returns>返回中文對應的拼音首字母</returns>
        public static string GetInitials(string text) { text = text.Trim(); var chars = new StringBuilder(); foreach (var t in text) { var py = GetPinYin(t); if (py != "") chars.Append(py[0].ToString().ToUpper()); } return chars.ToString().ToUpper(); } /// <summary>
        /// 取中文文本的拼音首字母 /// </summary>
        /// <param name="text">編碼爲UTF8的文本</param>
        /// <param name="defaultstr">轉換失敗時返回的預設字符</param>
        /// <returns>返回中文對應的拼音首字母</returns>
        public static string GetInitials(string text, char defaultstr) { text = text.Trim(); var chars = new StringBuilder(); foreach (var t in text) { var py = GetPinYin(t, defaultstr); if (py != "") chars.Append(py[0].ToString().ToUpper()); else chars.Append(defaultstr); } return chars.ToString().ToUpper(); } /// <summary>
        /// 取中文文本的拼音首字母 /// </summary>
        /// <param name="text">文本</param>
        /// <param name="encoding">源文本的編碼</param>
        /// <returns>返回Encoding編碼類型中文對應的拼音首字母</returns>
        public static string GetInitials(string text, Encoding encoding) => ConvertEncoding(GetInitials(ConvertEncoding(text, encoding, Encoding.UTF8)), Encoding.UTF8, encoding); /// <summary>
        /// 取中文文本的拼音首字母 /// </summary>
        /// <param name="text">文本</param>
        /// <param name="defaultstr">轉換失敗後返回的預設字符</param>
        /// <param name="encoding">源文本的編碼</param>
        /// <returns>返回Encoding編碼類型中文對應的拼音首字母</returns>
        public static string GetInitials(string text, char defaultstr, Encoding encoding) => ConvertEncoding(GetInitials(ConvertEncoding(text, encoding, Encoding.UTF8), defaultstr), Encoding.UTF8, encoding); #endregion

        #region 獲取文本拼音

        /// <summary>
        /// 取中文文本的拼音 /// </summary>
        /// <param name="text">編碼爲UTF8的文本</param>
        /// <returns>返回中文文本的拼音</returns>
        public static string GetPinYin(string text) { var sbPinyin = new StringBuilder(); foreach (var t in text) { var py = GetPinYin(t); if (py != "") sbPinyin.Append(py); } return sbPinyin.ToString().Trim(); } /// <summary>
        /// 取中文文本的拼音 /// </summary>
        /// <param name="text">編碼爲UTF8的文本</param>
        /// <param name="defaultstr">當獲取拼音失敗時返回預設字符</param>
        /// <returns>返回中文文本的拼音</returns>
        public static string GetPinYin(string text, char defaultstr) { var sbPinyin = new StringBuilder(); foreach (var t in text) { var py = GetPinYin(t, defaultstr); if (py != "") sbPinyin.Append(py); else sbPinyin.Append(defaultstr); } return sbPinyin.ToString().Trim(); } /// <summary>
        /// 返回單個字符的漢字拼音 /// </summary>
        /// <param name="ch">編碼爲UTF8的中文字符</param>
        /// <returns>ch對應的拼音</returns>
        public static string GetPinYin(char ch) { //是不是標點符號,控制符,10進制數字,空格,小寫字母,大寫字母,特殊符號,分隔符
            if (char.IsPunctuation(ch) | char.IsControl(ch) | char.IsDigit(ch) | char.IsWhiteSpace(ch) |
                char.IsLower(ch) | char.IsUpper(ch) | char.IsSymbol(ch) | char.IsSeparator(ch)) return ch.ToString(); var hash = GetHashIndex(ch); for (var i = 0; i < PyHash.Hashes[hash].Length; ++i) { var index = PyHash.Hashes[hash][i]; var pos = PyCode.Codes[index].IndexOf(ch, 7); if (pos != -1) return PyCode.Codes[index].Substring(0, 6).Trim() + " "; } return ch.ToString(); } /// <summary>
        /// 返回單個字符的漢字拼音 /// </summary>
        /// <param name="ch">編碼爲UTF8的中文字符</param>
        /// <param name="defaultstr">轉換失敗後返回字符串</param>
        /// <returns>ch對應的拼音</returns>
        public static string GetPinYin(char ch, char defaultstr) { //是不是標點符號,控制符,10進制數字,空格,小寫字母,大寫字母,特殊符號,分隔符
            if (char.IsPunctuation(ch) | char.IsControl(ch) | char.IsDigit(ch) | char.IsWhiteSpace(ch) |
                char.IsLower(ch) | char.IsUpper(ch) | char.IsSymbol(ch) | char.IsSeparator(ch)) return ch.ToString(); var hash = GetHashIndex(ch); for (var i = 0; i < PyHash.Hashes[hash].Length; ++i) { var index = PyHash.Hashes[hash][i]; var pos = PyCode.Codes[index].IndexOf(ch, 7); if (pos != -1) return PyCode.Codes[index].Substring(0, 6).Trim() + " "; } return defaultstr.ToString(); } /// <summary>
        /// 取中文文本的拼音 /// </summary>
        /// <param name="text">編碼爲UTF8的文本</param>
        /// <param name="encoding">源文本的編碼</param>
        /// <returns>返回Encoding編碼類型的中文文本的拼音</returns>
        public static string GetPinYin(string text, Encoding encoding) => ConvertEncoding(GetPinYin(ConvertEncoding(text.Trim(), encoding, Encoding.UTF8)), Encoding.UTF8, encoding); /// <summary>
        /// 取中文文本的拼音 /// </summary>
        /// <param name="text">編碼爲UTF8的文本</param>
        /// <param name="defaultstr">轉換失敗後返回的字符</param>
        /// <param name="encoding">源文本的編碼</param>
        /// <returns>返回Encoding編碼類型的中文文本的拼音</returns>
        public static string GetPinYin(string text, char defaultstr, Encoding encoding) => ConvertEncoding(GetPinYin(ConvertEncoding(text.Trim(), encoding, Encoding.UTF8), defaultstr), Encoding.UTF8, encoding); /// <summary>
        /// 返回單個字符的漢字拼音 /// </summary>
        /// <param name="ch">編碼爲Encoding的中文字符</param>
        /// <param name="encoding">源字符編碼</param>
        /// <returns>編碼爲Encoding的ch對應的拼音</returns>
        public static string GetPinYin(char ch, Encoding encoding) { ch = ConvertEncoding(ch.ToString(), encoding, Encoding.UTF8)[0]; return ConvertEncoding(GetPinYin(ch), Encoding.UTF8, encoding); } /// <summary>
        /// 返回單個字符的漢字拼音 /// </summary>
        /// <param name="defaultstr">當轉換失敗後返回的字符</param>
        /// <param name="ch">編碼爲Encoding的中文字符</param>
        /// <param name="encoding">源字符編碼</param>
        /// <returns>編碼爲Encoding的ch對應的拼音</returns>
        public static string GetPinYin(char ch, char defaultstr, Encoding encoding) { ch = ConvertEncoding(ch.ToString(), encoding, Encoding.UTF8)[0]; return ConvertEncoding(GetPinYin(ch, defaultstr), Encoding.UTF8, encoding); } #endregion

        #region 根據拼音獲取漢字列表

        /// <summary>
        /// 取和拼音相同的漢字列表 /// </summary>
        /// <param name="pinyin">編碼爲UTF8的拼音</param>
        /// <returns>取拼音相同的漢字列表,如拼音「ai」將會返回「唉愛……」等</returns>
        public static string GetChineseText(string pinyin) { var key = pinyin.Trim().ToLower(); foreach (var str in PyCode.Codes) { if (str.StartsWith(key + " ") || str.StartsWith(key + ":")) return str.Substring(7); } return ""; } /// <summary>
        /// 取和拼音相同的漢字列表,編碼同參數encoding /// </summary>
        /// <param name="pinyin">編碼爲encoding的拼音</param>
        /// <param name="encoding">編碼</param>
        /// <returns>返回編碼爲encoding的拼音爲pinyin的漢字列表,如拼音「ai」將會返回「唉愛……」等</returns>
        public static string GetChineseText(string pinyin, Encoding encoding) => ConvertEncoding(GetChineseText(ConvertEncoding(pinyin, encoding, Encoding.UTF8)), Encoding.UTF8, encoding); #endregion

        #region 轉換文本字符集編碼

        /// <summary>
        /// 轉換編碼 /// </summary>
        /// <param name="text">文本</param>
        /// <param name="srcEncoding">源編碼</param>
        /// <param name="dstEncoding">目標編碼</param>
        /// <returns>目標編碼文本</returns>
        public static string ConvertEncoding(string text, Encoding srcEncoding, Encoding dstEncoding) => dstEncoding.GetString(Encoding.Convert(srcEncoding, dstEncoding, srcEncoding.GetBytes(text))); #endregion

        #region 獲取文本索引

        /// <summary>
        /// 取文本索引值 /// </summary>
        /// <param name="ch">字符</param>
        /// <returns>文本索引值</returns>
        private static short GetHashIndex(char ch) => (short)((uint)ch % PyCode.Codes.Length); #endregion } }

接下來是使用方法,因爲我測試代碼是使用的.Net Standard庫,測試項目使用的是.Net Core3.1 因此,這3個類所在的項目,須要引入System.Text.Encoding.CodePages Nuget包,而且在使用的項目中註冊.git

 1 using System;  2 using System.Text;  3 
 4 namespace Miraclesoft.Common.Test  5 {  6     class Program  7  {  8         static void Main(string[] args)  9  { 10             Test test = new Test(); 11 
12             #region 拼音工具測試
13             /** 14  * 默認狀況下.Net Core只支持28951,UTF-8,UTF-16,其餘的編碼格式均不支持. 15  * 工具庫已經引用了System.Text.Encoding.CodePages.dll 16  * 在啓動的時候,須要註冊EncodingProvider,執行代碼以下: 17  * Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 18              */
19  Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 20  test.PyToolsTest(); 21             #endregion
22 
23             try
24  { 25                 //使用VSCode調試代碼的時候ReadKey會拋出異常
26  Console.ReadKey(); 27  } 28             catch { } 29  } 30  } 31 }
 1 using Miraclesoft.Common.Utility.PinYin;  2 using System;  3 using System.Text;  4 using static System.Console;  5 
 6 namespace Miraclesoft.Common.Test  7 {  8     /// <summary>
 9     /// 測試類 10     /// </summary>
11     public class Test 12  { 13         /// <summary>
14         /// output text to console by color font,default red color. 15         /// </summary>
16         /// <param name="ex">異常對象</param>
17         /// <param name="wrap">是否換行輸出</param>
18         public void WriteColorText(Exception ex, ConsoleColor color = ConsoleColor.Red, bool wrap = true) 19  { 20             ForegroundColor = color; 21             if (wrap) 22  WriteLine(ex.ToString()); 23             else
24  Write(ex.ToString()); 25             ForegroundColor = ConsoleColor.White; 26  } 27         /// <summary>
28         /// output text to console by color font,default red color. 29         /// </summary>
30         /// <param name="ex">字符串類型</param>
31         /// <param name="wrap">是否換行輸出</param>
32         public void WriteColorText(string ex, ConsoleColor color = ConsoleColor.Red, bool wrap = true) 33  { 34             ForegroundColor = color; 35             if (wrap) 36  WriteLine(ex); 37             else
38  Write(ex); 39             ForegroundColor = ConsoleColor.White; 40  } 41         /// <summary>
42         /// PyToolsTest 43         /// </summary>
44         public void PyToolsTest() 45  { 46  WriteLine(); 47             WriteColorText("PyToolsTest", ConsoleColor.Green); 48             WriteColorText("--------------------------------------------------------------------------------------------------------------------", ConsoleColor.Yellow); 49             string[] maxims = { "事常與人違,123456789", @"駿馬是跑出來的,?|\!@$%^&*()_+=-,./';:{}[]<>", "深圳" }; 50             string[] medicines = { "聚維酮碘溶液", "開塞露", "輸血記錄", "深圳" }; 51             WriteLine("UTF8句子拼音:"); 52             foreach (var s in maxims) 53  { 54                 Write("漢字:"); 55                 WriteColorText($"{s}", ConsoleColor.DarkCyan, false); 56                 Write("\n拼音:"); 57                 WriteColorText($"{PyTools.GetPinYin(s, '%')}\n", ConsoleColor.Magenta); 58  } 59             var GBK = Encoding.GetEncoding("GBK"); 60             WriteLine("GBK拼音簡碼:"); 61             WriteColorText("不支持漢字使用自定義符號'%'替代測試:", ConsoleColor.DarkYellow); 62             Write("錒:\n簡碼:"); 63             WriteColorText($"{PyTools.GetInitials("", '%', GBK)}\n", ConsoleColor.Magenta); 64             foreach (var m in medicines) 65  { 66                 Write("藥品:"); 67                 WriteColorText($"{PyTools.ConvertEncoding(m, Encoding.UTF8, GBK)}\n", ConsoleColor.Magenta, false); 68                 Write("簡碼:"); 69                 WriteColorText($"{ PyTools.GetInitials(PyTools.ConvertEncoding(m, Encoding.UTF8, GBK), '?', GBK)}\n", ConsoleColor.Magenta); 70  } 71             WriteColorText("--------------------------------------------------------------------------------------------------------------------", ConsoleColor.Yellow); 72             WriteColorText("PyToolsTest Complete", ConsoleColor.Green); 73  WriteLine(); 74  } 75  } 76 }

該方法雖然支持大量漢字,可是並非全部漢字都支持,在使用的時候仍是得看實際效果.數組

原文出處:https://www.cnblogs.com/dygood/p/12015120.htmlide

相關文章
相關標籤/搜索