Delphi做繁体简体转换


本文整理自网络,侵删。

 //转简体
procedure Tfm_Words.Button6Click(Sender: TObject);
begin
  self.memo_msg.Text := STConvert(memo_msg.Text, ttSimple);
  
end;

//转繁体
procedure Tfm_Words.Button7Click(Sender: TObject);
begin
  self.memo_msg.Text := STConvert(memo_msg.Text, ttTrad);
end;

------------------------------------------------------------------------------------------------

unit uSTTrans;

interface

type
  TTransType = (ttSimple, ttTrad);
  
function STConvert(const S: string; const nOption: TTransType): string;

implementation

const
   SS_GB2312  = '锕皑蔼碍爱嗳嫒瑷暧霭谙铵鹌肮袄奥媪骜鳌坝罢钯摆败呗颁办绊钣帮绑镑谤剥饱宝报鲍鸨龅辈贝钡狈备惫鹎贲锛绷笔毕毙币闭荜哔滗铋筚跸边编贬变辩辫苄缏笾标骠飑飙镖镳鳔鳖'+
                '别瘪濒滨宾摈傧缤槟殡膑镔髌鬓饼禀拨钵铂驳饽钹鹁补钸财参蚕残惭惨灿骖黪苍舱仓沧厕侧册测恻层诧锸侪钗搀掺蝉馋谗缠铲产阐颤冁谄谶蒇忏婵骣觇禅镡场尝长偿肠厂畅伥苌怅'+
                '阊鲳钞车彻砗尘陈衬伧谌榇碜龀撑称惩诚骋枨柽铖铛痴迟驰耻齿炽饬鸱冲冲虫宠铳畴踌筹绸俦帱雠橱厨锄雏础储触处刍绌蹰传钏疮闯创怆锤缍纯鹑绰辍龊辞词赐鹚聪葱囱从丛苁骢'+
                '枞凑辏蹿窜撺错锉鹾达哒鞑带贷骀绐担单郸掸胆惮诞弹殚赕瘅箪当挡党荡档谠砀裆捣岛祷导盗焘灯邓镫敌涤递缔籴诋谛绨觌镝颠点垫电巅钿癫钓调铫鲷谍叠鲽钉顶锭订铤丢铥东动'+
                '栋冻岽鸫窦犊独读赌镀渎椟牍笃黩锻断缎簖兑队对怼镦吨顿钝炖趸夺堕铎鹅额讹恶饿谔垩阏轭锇锷鹗颚颛鳄诶儿尔饵贰迩铒鸸鲕发罚阀珐矾钒烦贩饭访纺钫鲂飞诽废费绯镄鲱纷坟'+
                '奋愤粪偾丰枫锋风疯冯缝讽凤沣肤辐抚辅赋复负讣妇缚凫驸绂绋赙麸鲋鳆钆该钙盖赅杆赶秆赣尴擀绀冈刚钢纲岗戆镐睾诰缟锆搁鸽阁铬个纥镉颍给亘赓绠鲠龚宫巩贡钩沟苟构购够'+
                '诟缑觏蛊顾诂毂钴锢鸪鹄鹘剐挂鸹掴关观馆惯贯诖掼鹳鳏广犷规归龟闺轨诡贵刽匦刿妫桧鲑鳜辊滚衮绲鲧锅国过埚呙帼椁蝈铪骇韩汉阚绗颉号灏颢阂鹤贺诃阖蛎横轰鸿红黉讧荭闳'+
                '鲎壶护沪户浒鹕哗华画划话骅桦铧怀坏欢环还缓换唤痪焕涣奂缳锾鲩黄谎鳇挥辉毁贿秽会烩汇讳诲绘诙荟哕浍缋珲晖荤浑诨馄阍获货祸钬镬击机积饥迹讥鸡绩缉极辑级挤几蓟剂济'+
                '计记际继纪讦诘荠叽哜骥玑觊齑矶羁虿跻霁鲚鲫夹荚颊贾钾价驾郏浃铗镓蛲歼监坚笺间艰缄茧检碱硷拣捡简俭减荐槛鉴践贱见键舰剑饯渐溅涧谏缣戋戬睑鹣笕鲣鞯将浆蒋桨奖讲酱'+
                '绛缰胶浇骄娇搅铰矫侥脚饺缴绞轿较挢峤鹪鲛阶节洁结诫届疖颌鲒紧锦仅谨进晋烬尽劲荆茎卺荩馑缙赆觐鲸惊经颈静镜径痉竞净刭泾迳弪胫靓纠厩旧阄鸠鹫驹举据锯惧剧讵屦榉飓'+
                '钜锔窭龃鹃绢锩镌隽觉决绝谲珏钧军骏皲开凯剀垲忾恺铠锴龛闶钪铐颗壳课骒缂轲钶锞颔垦恳龈铿抠库裤喾块侩郐哙脍宽狯髋矿旷况诓诳邝圹纩贶亏岿窥馈溃匮蒉愦聩篑阃锟鲲扩'+
                '阔蛴蜡腊莱来赖崃徕涞濑赉睐铼癞籁蓝栏拦篮阑兰澜谰揽览懒缆烂滥岚榄斓镧褴琅阆锒捞劳涝唠崂铑铹痨乐鳓镭垒类泪诔缧篱狸离鲤礼丽厉励砾历沥隶俪郦坜苈莅蓠呖逦骊缡枥栎'+
                '轹砺锂鹂疠粝跞雳鲡鳢俩联莲连镰怜涟帘敛脸链恋炼练蔹奁潋琏殓裢裣鲢粮凉两辆谅魉疗辽镣缭钌鹩猎临邻鳞凛赁蔺廪檩辚躏龄铃灵岭领绫棂蛏鲮馏刘浏骝绺镏鹨龙聋咙笼垄拢陇'+
                '茏泷珑栊胧砻楼娄搂篓偻蒌喽嵝镂瘘耧蝼髅芦卢颅庐炉掳卤虏鲁赂禄录陆垆撸噜闾泸渌栌橹轳辂辘氇胪鸬鹭舻鲈峦挛孪滦乱脔娈栾鸾銮抡轮伦仑沦纶论囵萝罗逻锣箩骡骆络荦猡泺'+
                '椤脶镙驴吕铝侣屡缕虑滤绿榈褛锊呒妈玛码蚂马骂吗唛嬷杩买麦卖迈脉劢瞒馒蛮满谩缦镘颡鳗猫锚铆贸麽没镁门闷们扪焖懑钔锰梦眯谜弥觅幂芈谧猕祢绵缅渑腼黾庙缈缪灭悯闽闵'+
                '缗鸣铭谬谟蓦馍殁镆谋亩钼呐钠纳难挠脑恼闹铙讷馁内拟腻铌鲵撵辇鲶酿鸟茑袅聂啮镊镍陧蘖嗫颟蹑柠狞宁拧泞苎咛聍钮纽脓浓农侬哝驽钕诺傩疟欧鸥殴呕沤讴怄瓯盘蹒庞抛疱赔'+
                '辔喷鹏纰罴铍骗谝骈飘缥频贫嫔苹凭评泼颇钋扑铺朴谱镤镨栖脐齐骑岂启气弃讫蕲骐绮桤碛颀颃鳍牵钎铅迁签谦钱钳潜浅谴堑佥荨悭骞缱椠钤枪呛墙蔷强抢嫱樯戗炝锖锵镪羟跄锹'+
                '桥乔侨翘窍诮谯荞缲硗跷窃惬锲箧钦亲寝锓轻氢倾顷请庆揿鲭琼穷茕蛱巯赇虮鳅趋区躯驱龋诎岖阒觑鸲颧权劝诠绻辁铨却鹊确阕阙悫让饶扰绕荛娆桡热韧认纫饪轫荣绒嵘蝾缛铷颦'+
                '软锐蚬闰润洒萨飒鳃赛伞毵糁丧骚扫缫涩啬铯穑杀刹纱铩鲨筛晒酾删闪陕赡缮讪姗骟钐鳝墒伤赏垧殇觞烧绍赊摄慑设厍滠畲绅审婶肾渗诜谂渖声绳胜师狮湿诗时蚀实识驶势适释饰'+
                '视试谥埘莳弑轼贳铈鲥寿兽绶枢输书赎属术树竖数摅纾帅闩双谁税顺说硕烁铄丝饲厮驷缌锶鸶耸怂颂讼诵擞薮馊飕锼苏诉肃谡稣虽随绥岁谇孙损笋荪狲缩琐锁唢睃獭挞闼铊鳎台态'+
                '钛鲐摊贪瘫滩坛谭谈叹昙钽锬顸汤烫傥饧铴镗涛绦讨韬铽腾誊锑题体屉缇鹈阗条粜龆鲦贴铁厅听烃铜统恸头钭秃图钍团抟颓蜕饨脱鸵驮驼椭箨鼍袜娲腽弯湾顽万纨绾网辋韦违围为'+
                '潍维苇伟伪纬谓卫诿帏闱沩涠玮韪炜鲔温闻纹稳问阌瓮挝蜗涡窝卧莴龌呜钨乌诬无芜吴坞雾务误邬庑怃妩骛鹉鹜锡牺袭习铣戏细饩阋玺觋虾辖峡侠狭厦吓硖鲜纤贤衔闲显险现献县'+
                '馅羡宪线苋莶藓岘猃娴鹇痫蚝籼跹厢镶乡详响项芗饷骧缃飨萧嚣销晓啸哓潇骁绡枭箫协挟携胁谐写泻谢亵撷绁缬锌衅兴陉荥凶汹锈绣馐鸺虚嘘须许叙绪续诩顼轩悬选癣绚谖铉镟学'+
                '谑泶鳕勋询寻驯训讯逊埙浔鲟压鸦鸭哑亚讶垭娅桠氩阉烟盐严岩颜阎艳厌砚彦谚验厣赝俨兖谳恹闫酽魇餍鼹鸯杨扬疡阳痒养样炀瑶摇尧遥窑谣药轺鹞鳐爷页业叶靥谒邺晔烨医铱颐'+
                '遗仪蚁艺亿忆义诣议谊译异绎诒呓峄饴怿驿缢轶贻钇镒镱瘗舣荫阴银饮隐铟瘾樱婴鹰应缨莹萤营荧蝇赢颖茔莺萦蓥撄嘤滢潆璎鹦瘿颏罂哟拥佣痈踊咏镛优忧邮铀犹诱莸铕鱿舆鱼渔'+
                '娱与屿语狱誉预驭伛俣谀谕蓣嵛饫阈妪纡觎欤钰鹆鹬龉鸳渊辕园员圆缘远橼鸢鼋约跃钥粤悦阅钺郧匀陨运蕴酝晕韵郓芸恽愠纭韫殒氲杂灾载攒暂赞瓒趱錾赃脏驵凿枣责择则泽赜啧'+
                '帻箦贼谮赠综缯轧铡闸栅诈斋债毡盏斩辗崭栈战绽谵张涨帐账胀赵诏钊蛰辙锗这谪辄鹧贞针侦诊镇阵浈缜桢轸赈祯鸩挣睁狰争帧症郑证诤峥钲铮筝织职执纸挚掷帜质滞骘栉栀轵轾'+
                '贽鸷蛳絷踬踯觯钟终种肿众锺诌轴皱昼骤纣绉猪诸诛烛瞩嘱贮铸驻伫槠铢专砖转赚啭馔颞桩庄装妆壮状锥赘坠缀骓缒谆准着浊诼镯兹资渍谘缁辎赀眦锱龇鲻踪总纵偬邹诹驺鲰诅组'+
                '镞钻缵躜鳟翱并卜沉丑淀迭斗范干皋硅柜后伙秸杰诀夸里凌么霉捻凄扦圣尸抬涂洼喂污锨咸蝎彝涌游吁御愿岳云灶扎札筑于志注凋讠谫郄勐凼坂垅垴埯埝苘荬荮莜莼菰藁揸吒吣咔'+
                '咝咴噘噼嚯幞岙嵴彷徼犸狍馀馇馓馕愣憷懔丬溆滟溷漤潴澹甯纟绔绱珉枧桊桉槔橥轱轷赍肷胨飚煳煅熘愍淼砜磙眍钚钷铘铞锃锍锎锏锘锝锪锫锿镅镎镢镥镩镲稆鹋鹛鹱疬疴痖癯裥'+
                '襁耢颥螨麴鲅鲆鲇鲞鲴鲺鲼鳊鳋鳘鳙鞒鞴齄';


    SS_GBK =    '?H?}?@?K????墉a?犰\?O?@?g?a?\?W?????瘟T?Z?[??h?C?k?O?k?徒??^?r??????篚U?d?_???^?N??v?l?S?Q??P????砰]???сG?`????H??q?p?S??e?蓑??R?j?S?s?B?M'+
                '?e?T?l?I?e?P???_??????\?x?W??A?芾??K?g?G??P?a???⑿Q???M?K?N??o?n??}??????y??釉?????O?v?较s???p?P?a?U??险~??r??闰???U???L?L???c?S??t?O??'+
                '??K?n??爻??m??r?嶂R?麓~?Z?畏Q?驼\?G???f??K?V?t?Y?u?X?腼??|?_?n?x???|???P?I?I???巫???N?z?r?A?τ|??c?I?X?麾A???J???礤N?E????b?z?p?o?~?n?\??[???采??'+
                '?????f?Z?x?e?S?z?_?}?^?зJ?~?H???梧??勰????Q?????y?D????觞h??n??X?d?v?u?\?ПI?c?羿????爝f??e?g?B??]?C??c?|??p??d??{????B?l???V??b?G?A?|??'+
                '????????]?侏??x???^??┖V?t??嗑??f?蛾???荤????D?g?踯O?Z???I?Z?~??吼I?@?组???~??????{?O????D?E??s???b?l?P?y?m?\?C?┴???L??[??w?u?U?M?p??E???'+
                '?^???S?f?S?麂h?L???T?p?S?P???w??彷o?x?拓???D?`?D???E????V?v???}?w?W?U?s??M??{?C??????V???哝??G?a?c??R???w?t???v?k?}?o???s?????m???^?掀??????'+
                '???M?M??b???d???]?X???禅????P?^?^?T????X??V?E??w???|???F??Q????u?q?Z??L??i?????^??J??∠X?x??n?h?R?W?R?????u?Q?R?X?H??M?Z???t?Z???b'+
                '?c?刈o????G???W?A???????彗f???g?h???Q?警???o?J?Q?D??S?e?m?]?x?зV?x???Z?R?M?d?L??C???依D?q???????Q??@????Z??C?e??E?I?u???O???D?姿E???'+
                '???H?^?o???j?\???K?^?J?W??b??Q?V?q?a?A?v?a?Z??r?{?P?唁e??u???O?怨{?g?D?}?O?z?A?|???旌????p?]???b?`?v??I????T?u?R?局G?V??觳??Y?a??d??{?Y?????v?u'+
                '?{?\?z?豺?????q?C?e?_??U?g?I?^??????o?A????Y?]?冒X?M?^?o?\?H??M?x?a?M?徘G?o???|?~?N?B?P?L?@??i?o?R?蒋d???q?苻?????n?m???f?b?F???x?e?????≡n??物Z'+
                '??|?M?e?N????h?X?Q?^?H?k?x??E??_?P???N??疰z?|???`??D?w?ふn?S?~?V???h???l?H??煅???K?~?????????y?V??r?E?N??坷k?L??h?Q???T??|????K?H?U'+
                '????D?R?碣?????Z?|?l?A?n?]?[?{??r?@?@?m??????[?欣|???E???惕|?h????Z????Z?縻???A?扶??D?绢??I?C?w?h??x??Y?????畹[?v?r?`???B?人??W?y?尺??P?r???'+
                '?]?Z??Z?O?c?V?Z?~?k?z???B??z?i??磕???????`?Y???I????c??Z??奢v??u???|??????C?R??[?C?U?A?[?_?O?k?g??`?X?I?c?粝|?N?s??g?t?^?y?w???@?祷\??n?]'+
                '?d?{????V?a???Шt?E?V?D?忡U???e?N?t?J?R?B?]?t?稃u???T?????]?i??o?O??┺_?`?A?谂F?R???A?|?n???\??y?L?D?棼[??噍?????S?]??魈}?_???j???j?潍M?T'+
                '?迥T??H?武X?H?铱|?]?V?G?耙@?s?`?????a??R?R??O??q?I???u?~?}?瓴m?z?U?M??z?N????^?T?Q?N?]?V?T??????F?垮{?i?舨[?i????缌d?k?J?[?d??旗t?w?R??????}?h'+
                '??Q?????x?{??\???f?肉c?{?y?夏X?吏[?t?G?H??M???F?f??T??B?\?U??ц????Y?祟??b???????Q?羝r????o?~??廪r?z???w?S?Z?????W?t???I?a??Y?T?P???????r'+
                '?\???i??`??_???h?~?l??逄O?{?u???H??滗??阕V?h?????R?T?M??????I?U?_?????@??库F?U?w??t?X?Q???\?l?q?L?n?a?q?`???j????λN??????{??弯??I?j?u??@'+
                '???S?N?[?V?S?w?R??E?`?苠??D?J?H???u?p??A???c?艴????F?ν????g?l?q??^?|??x?x?玳??U?z?E??裨??J?b??s?o?_??I?庾???_?@????犴g?J?x???s?q?V??d??A'+
                '??J??c???⑺_?S?w???屑R?黍}?呖????蒌C?w??x??|??Y?襻??h?W???????~??X?????p?s???x???B?d?z?卦O??????????鹉I?B???c??K????{?裨??r?g???R??葸m??'+
                '???u?P?P?s?Y?B???郢F?R?休????H?傩g?湄Q??d????V?p?l???f?T?q?p?z??P???J????Z??A?b?\??t?`?}?K?V?C?q?d?m?S??q?r?O?p?S?p?s?s???i?蠲??H?殛Y?B??_?B'+
                '??T????c????T??@?毅g?U????C???h?|?M???{??w??v?`?R?}?w?暇??Y?D?l?g?f??N?F?d??N?~?y?Q?^?^?d?D?Q?F?活j????r?W??E?X???m?z?e???愁B?f?w?U?W?y?f?`????'+
                '?H?S???尉??^?l????????|?t???n?芈??y?????Y?胛??u?C?P?n?}?桄u?跽_?o???]?F?照`?w?T???瞅\?^?F?a?抟u???蚣??q?]?t??r??{?b?M?B????r?w?t??e?@?U?F?I?h'+
                '?W?w????{?W?\?s???国??B??i?]????l????G?A?J?|???啼N??[?^?t???n??f??y?{?C???a?x?C?X??i?\??d????颁P?C?}????u??S?⒕w?m????疫x?_?k?X?C??W'+
                '?o?枉L?自??ゑZ???d?_?△\?壶f????????I??彘????}??r???G????┲V????I??甲??瞄Z??|??B????P????W?B??????u?蜻b?G?{??U?_?????I?~?v?]???钺t??U'+
                '?z?x???|???x??h?x?g???[?r??F????A?O?W?O???O????a??y??[??a??膪????t????I?上??A?f?L?L?M?v?t??]?u???W?`?W????虬b?x??O???n?]??q?T?~?B???~?O'+
                '?逝c?Z?Z?z?u?A?S???R??I??o?????u?D?e??O???r?x?Y?@?@?T?A??h?带S?x?s?S??????X?y?螂E?\?N?j????i?|??C??y???桦s?妮d???嘿?????Y?E?K?z??????t?少??K'+
                '?竞j?\?P??C????l?旁p?S???直K?剌????鹁`?d???q?べ~??w?t??U?H?N?@??m?p???稍\?????b?E?F?c??c?瓯??b?????Y??C????`?P?~???碳???S?觅|???s??d?T?e'+
                '??v??{?W?U?z??K?N?[??R?a?S????E?q?U?i?T?D?T??谫A?T?v??姐??4u?D??署??D?肚f?b?y??铄F????Y?K?P??手??嵴??C??Y?n?J?l?w?D?{?O?b????v?羿u??|?O?{?M'+
                '??@?y?g?V?O?K?N沈?h?盏??Y??峙V矽??後夥?M?茉E?F?Y?R麽?q??D?L?}??E?T?D?j?@?v?y???ミ[?n?R??[??^????B於?I?]雕??v?S猛?脍?????|???{???O菇槁??咤?w?U'+
                '?z?j撅劈?o?L?S脊仿?e?w???N?l??楞怵??爿?s?够?E?z淡??糸?f?y?z?g?ò?R?凛M??}?d?L?l糊??溜?∶齑^?L?g?b?O?y?H?{?????u?x??X?[???u??d????B?I?[屙?{??M'+
                '??g??\?D?E?G?R??A?X?a?c???I?X?x?O';


function Traditionalized(const GB2312: WideString): string;
var
  I, n: Integer;
  s: string;
begin
  Result := '';
  for I := 1 to Length(GB2312) do
  begin
    s := GB2312[I];
    //查找是该字是否有简体字
    n := Pos(WideString(s), WideString(SS_GB2312)); 
    if n > 0 then
      Result := Result +  Copy(WideString(SS_GBK), n, 1)
    else
      Result := Result + s;
  end;
 
end;

function Simplized(const GBK34: WideString): string;
var
  I, n: Integer;
  s: string;
begin
  Result := '';
  for I := 1 to Length(GBK34) do
  begin
    s := GBK34[I];
    //查找是该字是否有繁体字
    n := Pos(WideString(s), WideString(SS_GBK));
    if n > 0 then
      Result := Result +  Copy(WideString(SS_GB2312), n, 1)
    else
      Result := Result + s;
  end;
end;
 
function STConvert(const S: string; const nOption: TTransType): string;
begin
  case nOption of
    ttSimple: Result :=  Simplized(S);
    ttTrad:   Result :=  Traditionalized(S);
  end;
end;

end.

相关阅读 >>

Delphi在pagecontrol1上面的分页动态创建edit组件

Delphi中利用msdasc来配置数据库链接

Delphi对cookie的操作

Delphi 实现一个程序在另一个程序内运行

Delphi xe7中stringgrid组件的使用

Delphi 获取文件名不带扩展名

Delphi版本qq木马

Delphi获取jpg、gif、png等格式图片的大小(高度和宽度)

Delphi 查找字符串并删除该字符串

Delphi istream与tstream之间的相互转换

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...