能改进的话帮忙改进下。或是直接讲下改进的原理,不好意思,总共只有38分了
function charPYStr()
{
    return '锕皑蔼碍爱嗳嫒瑷暧....这里省略后面的简体字符,要的可以联系我'
}function ftPYStr()
{
    return '锕皑蔼碍爱嗳嫒瑷暧....这里省略后面的繁体字符,要的可以联系我'
}function traditionalized(cc)
{
    var str='',a1=ftPYStr(),a2=charPYStr(),a,c
    for(var i=0;i<cc.length;i++)
    {
        a=cc.charAt(i)
        c=a2.indexOf(a)
        if(c!=-1)str+=a1.charAt(c)
        else str+=a
    }
    return str
}function simplized(cc)
{
    var str='',a1=ftPYStr(),a2=charPYStr(),a,c
    for(var i=0;i<cc.length;i++)
    {
        a=cc.charAt(i)
        c=a1.indexOf(a)
        if(c!=-1)str+=a2.charAt(c)
        else str+=a
    }
    return str
}

解决方案 »

  1.   

    可以考虑做一个缓存,将查询过的文字保存为字典,这样就不用每次都indexOf
    <body>
    <script>
    var Encoding = Encoding || {};
    (function() {
    var __dict = [ // 简繁字典
    '万与丑专业丛东丝丢两严丧个丬丰临为丽举么义乌乐乔习乡书....',
    '萬與醜專業叢東絲丟兩嚴喪個爿豐臨為麗舉麼義烏樂喬習鄉書....'
    ]
    , __words = [{}, {}]; // 繁体简体对照表

    function __process(str, a, b) {
    if (!str) return;
    return String(str).replace(/[\u4e00-\u9fa5]/g, function(all) {
    if (!__words[b][all]) {
    var i = __dict[a].indexOf(all);
    __words[b][all] = i >= 0 ? __dict[b].charAt(i) : all;
    }
    return __words[b][all];
    });
    }

    Encoding.traditional = function(str) { // 处理成繁体
    return __process(str, 0, 1);
    };
    Encoding.simplified = function(str) { // 处理成简体
    return __process(str, 1, 0);
    };
    })();alert(Encoding.simplified('简体 嚴喪個爿豐臨為麗舉麼嚴喪個爿豐臨嚴喪個爿豐臨為麗舉麼'));
    alert(Encoding.traditional('繁体 丬丰丬丰临为丽举临为丬举丽举万与丰临为丽举丽举万与丑'));
    </script>
    </body>
      

  2.   

    另外,用“+”做字符串拼接,不如用push()或者replace()快。
    如果觉得没有特别的性能提高,请提供demo,线上的最好。
      

  3.   

    个人觉得缓存意义不大,因为不能够提高用户第一次的转换的速度,而转换是为了阅读方便往往是一次性的。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=bg2312" />
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    <title>繁简互换</title>
    </head>
    <body>
    <textarea rows="13" cols="60" id="text">
    网站如何快速实现繁体和简体间的切换
    </textarea><br />
    <button onclick="Encoding()">繁简互换</button>
    <script type="text/javascript">
    var words = "皑皚蔼藹碍礙爱愛翱翺袄襖奥奧坝壩罢罷摆擺败敗颁頒办辦绊絆帮幫绑綁镑鎊谤謗剥剝饱飽宝寶报報鲍鮑辈輩贝貝钡鋇狈狽备備惫憊绷繃笔筆毕畢毙斃闭閉边邊编編贬貶变變辩辯辫辮鳖鼈瘪癟濒瀕滨濱宾賓摈擯饼餅拨撥钵缽铂鉑驳駁卜蔔补補参參蚕蠶残殘惭慚惨慘灿燦苍蒼舱艙仓倉沧滄厕廁侧側册冊测測层層诧詫搀攙掺摻蝉蟬馋饞谗讒缠纏铲鏟产産阐闡颤顫场場尝嘗长長偿償肠腸厂廠畅暢钞鈔车車彻徹尘塵陈陳衬襯撑撐称稱惩懲诚誠骋騁痴癡迟遲驰馳耻恥齿齒炽熾冲沖虫蟲宠寵畴疇踌躊筹籌绸綢丑醜橱櫥厨廚锄鋤雏雛础礎储儲触觸处處传傳疮瘡闯闖创創锤錘纯純绰綽辞辭词詞赐賜聪聰葱蔥囱囪从從丛叢凑湊窜竄错錯达達带帶贷貸担擔单單郸鄲掸撣胆膽惮憚诞誕弹彈当當挡擋党黨荡蕩档檔捣搗岛島祷禱导導盗盜灯燈邓鄧敌敵涤滌递遞缔締点點垫墊电電淀澱钓釣调調迭叠谍諜叠疊钉釘顶頂锭錠订訂东東动動栋棟冻凍斗鬥犊犢独獨读讀赌賭镀鍍锻鍛断斷缎緞兑兌队隊对對吨噸顿頓钝鈍夺奪鹅鵝额額讹訛恶惡饿餓儿兒尔爾饵餌贰貳发發罚罰阀閥珐琺矾礬钒釩烦煩范範贩販饭飯访訪纺紡飞飛废廢费費纷紛坟墳奋奮愤憤粪糞丰豐枫楓锋鋒风風疯瘋冯馮缝縫讽諷凤鳳肤膚辐輻抚撫辅輔赋賦复複负負讣訃妇婦缚縛该該钙鈣盖蓋干幹赶趕秆稈赣贛冈岡刚剛钢鋼纲綱岗崗皋臯镐鎬搁擱鸽鴿阁閣铬鉻个個给給龚龔宫宮巩鞏贡貢钩鈎沟溝构構购購够夠蛊蠱顾顧剐剮关關观觀馆館惯慣贯貫广廣规規硅矽归歸龟龜闺閨轨軌诡詭柜櫃贵貴刽劊辊輥滚滾锅鍋国國过過骇駭韩韓汉漢阂閡鹤鶴贺賀横橫轰轟鸿鴻红紅后後壶壺护護沪滬户戶哗嘩华華画畫划劃话話怀懷坏壞欢歡环環还還缓緩换換唤喚痪瘓焕煥涣渙黄黃谎謊挥揮辉輝毁毀贿賄秽穢会會烩燴汇彙讳諱诲誨绘繪荤葷浑渾伙夥获獲货貨祸禍击擊机機积積饥饑讥譏鸡雞绩績缉緝极極辑輯级級挤擠几幾蓟薊剂劑济濟计計记記际際继繼纪紀夹夾荚莢颊頰贾賈钾鉀价價驾駕歼殲监監坚堅笺箋间間艰艱缄緘茧繭检檢碱堿硷鹼拣揀捡撿简簡俭儉减減荐薦槛檻鉴鑒践踐贱賤见見键鍵舰艦剑劍饯餞渐漸溅濺涧澗浆漿蒋蔣桨槳奖獎讲講酱醬胶膠浇澆骄驕娇嬌搅攪铰鉸矫矯侥僥脚腳饺餃缴繳绞絞轿轎较較秸稭阶階节節茎莖惊驚经經颈頸静靜镜鏡径徑痉痙竞競净淨纠糾厩廄旧舊驹駒举舉据據锯鋸惧懼剧劇鹃鵑绢絹杰傑洁潔结結诫誡届屆紧緊锦錦仅僅谨謹进進晋晉烬燼尽盡劲勁荆荊觉覺决決诀訣绝絕钧鈞军軍骏駿开開凯凱颗顆壳殼课課垦墾恳懇抠摳库庫裤褲夸誇块塊侩儈宽寬矿礦旷曠况況亏虧岿巋窥窺馈饋溃潰扩擴阔闊蜡蠟腊臘莱萊来來赖賴蓝藍栏欄拦攔篮籃阑闌兰蘭澜瀾谰讕揽攬览覽懒懶缆纜烂爛滥濫捞撈劳勞涝澇乐樂镭鐳垒壘类類泪淚篱籬离離里裏鲤鯉礼禮丽麗厉厲励勵砾礫历曆沥瀝隶隸俩倆联聯莲蓮连連镰鐮怜憐涟漣帘簾敛斂脸臉链鏈恋戀炼煉练練粮糧凉涼两兩辆輛谅諒疗療辽遼镣鐐猎獵临臨邻鄰鳞鱗凛凜赁賃龄齡铃鈴凌淩灵靈岭嶺领領馏餾刘劉龙龍聋聾咙嚨笼籠垄壟拢攏陇隴楼樓娄婁搂摟篓簍芦蘆卢盧颅顱庐廬炉爐掳擄卤鹵虏虜鲁魯赂賂禄祿录錄陆陸驴驢吕呂铝鋁侣侶屡屢缕縷虑慮滤濾绿綠峦巒挛攣孪孿滦灤乱亂抡掄轮輪伦倫仑侖沦淪纶綸论論萝蘿罗羅逻邏锣鑼箩籮骡騾骆駱络絡妈媽玛瑪码碼蚂螞马馬骂罵吗嗎买買麦麥卖賣迈邁脉脈瞒瞞馒饅蛮蠻满滿谩謾猫貓锚錨铆鉚贸貿么麽霉黴没沒镁鎂门門闷悶们們锰錳梦夢谜謎弥彌觅覓绵綿缅緬庙廟灭滅悯憫闽閩鸣鳴铭銘谬謬谋謀亩畝钠鈉纳納难難挠撓脑腦恼惱闹鬧馁餒腻膩撵攆捻撚酿釀鸟鳥聂聶啮齧镊鑷镍鎳柠檸狞獰宁甯拧擰泞濘钮鈕纽紐脓膿浓濃农農疟瘧诺諾欧歐鸥鷗殴毆呕嘔沤漚盘盤庞龐国國爱愛赔賠喷噴鹏鵬骗騙飘飄频頻贫貧苹蘋凭憑评評泼潑颇頗扑撲铺鋪朴樸谱譜脐臍齐齊骑騎岂豈启啓气氣弃棄讫訖牵牽扦扡钎釺铅鉛迁遷签簽谦謙钱錢钳鉗潜潛浅淺谴譴堑塹枪槍呛嗆墙牆蔷薔强強抢搶锹鍬桥橋乔喬侨僑翘翹窍竅窃竊钦欽亲親轻輕氢氫倾傾顷頃请請庆慶琼瓊穷窮趋趨区區躯軀驱驅龋齲颧顴权權劝勸却卻鹊鵲让讓饶饒扰擾绕繞热熱韧韌认認纫紉荣榮绒絨软軟锐銳闰閏润潤洒灑萨薩鳃鰓赛賽伞傘丧喪骚騷扫掃涩澀杀殺纱紗筛篩晒曬闪閃陕陝赡贍缮繕伤傷赏賞烧燒绍紹赊賒摄攝慑懾设設绅紳审審婶嬸肾腎渗滲声聲绳繩胜勝圣聖师師狮獅湿濕诗詩尸屍时時蚀蝕实實识識驶駛势勢释釋饰飾视視试試寿壽兽獸枢樞输輸书書赎贖属屬术術树樹竖豎数數帅帥双雙谁誰税稅顺順说說硕碩烁爍丝絲饲飼耸聳怂慫颂頌讼訟诵誦擞擻苏蘇诉訴肃肅虽雖绥綏岁歲孙孫损損笋筍缩縮琐瑣锁鎖獭獺挞撻抬擡摊攤贪貪瘫癱滩灘坛壇谭譚谈談叹歎汤湯烫燙涛濤绦縧腾騰誊謄锑銻题題体體屉屜条條贴貼铁鐵厅廳听聽烃烴铜銅统統头頭图圖涂塗团團颓頹蜕蛻脱脫鸵鴕驮馱驼駝椭橢洼窪袜襪弯彎湾灣顽頑万萬网網韦韋违違围圍为爲潍濰维維苇葦伟偉伪僞纬緯谓謂卫衛温溫闻聞纹紋稳穩问問瓮甕挝撾蜗蝸涡渦窝窩呜嗚钨鎢乌烏诬誣无無芜蕪吴吳坞塢雾霧务務误誤锡錫牺犧袭襲习習铣銑戏戲细細虾蝦辖轄峡峽侠俠狭狹厦廈锨鍁鲜鮮纤纖咸鹹贤賢衔銜闲閑显顯险險现現献獻县縣馅餡羡羨宪憲线線厢廂镶鑲乡鄉详詳响響项項萧蕭销銷晓曉啸嘯蝎蠍协協挟挾携攜胁脅谐諧写寫泻瀉谢謝锌鋅衅釁兴興汹洶锈鏽绣繡虚虛嘘噓须須许許绪緒续續轩軒悬懸选選癣癬绚絢学學勋勳询詢寻尋驯馴训訓讯訊逊遜压壓鸦鴉鸭鴨哑啞亚亞讶訝阉閹烟煙盐鹽严嚴颜顔阎閻艳豔厌厭砚硯彦彥谚諺验驗鸯鴦杨楊扬揚疡瘍阳陽痒癢养養样樣瑶瑤摇搖尧堯遥遙窑窯谣謠药藥爷爺页頁业業叶葉医醫铱銥颐頤遗遺仪儀彝彜蚁蟻艺藝亿億忆憶义義诣詣议議谊誼译譯异異绎繹荫蔭阴陰银銀饮飲樱櫻婴嬰鹰鷹应應缨纓莹瑩萤螢营營荧熒蝇蠅颖穎哟喲拥擁佣傭痈癰踊踴咏詠涌湧优優忧憂邮郵铀鈾犹猶游遊诱誘舆輿鱼魚渔漁娱娛与與屿嶼语語吁籲御禦狱獄誉譽预預驭馭鸳鴛渊淵辕轅园園员員圆圓缘緣远遠愿願约約跃躍钥鑰岳嶽粤粵悦悅阅閱云雲郧鄖匀勻陨隕运運蕴蘊酝醞晕暈韵韻杂雜灾災载載攒攢暂暫赞贊赃贓脏髒凿鑿枣棗灶竈责責择擇则則泽澤贼賊赠贈扎紮札劄轧軋铡鍘闸閘诈詐斋齋债債毡氈盏盞斩斬辗輾崭嶄栈棧战戰绽綻张張涨漲帐帳账賬胀脹赵趙蛰蟄辙轍锗鍺这這贞貞针針侦偵诊診镇鎮阵陣挣掙睁睜狰猙帧幀郑鄭证證织織职職执執纸紙挚摯掷擲帜幟质質钟鍾终終种種肿腫众衆诌謅轴軸皱皺昼晝骤驟猪豬诸諸诛誅烛燭瞩矚嘱囑贮貯铸鑄筑築驻駐专專砖磚转轉赚賺桩樁庄莊装裝妆妝壮壯状狀锥錐赘贅坠墜缀綴谆諄浊濁兹茲资資渍漬踪蹤综綜总總纵縱邹鄒诅詛组組钻鑽致緻钟鐘么麼为為只隻凶兇准準启啟板闆里裡雳靂余餘链鍊泄洩";function Encoding() {
        var i = 0, str = document.getElementById("text").value;
        str = str.replace(/[\u4e00-\u9fa5]/g, function($) {
                i = words.indexOf($);
                return i < 0 && $ || words.charAt(i & 1 && i-1 || i+1);
        });
        document.getElementById("text").value = str;
    }
    </script>
    </body>
    </html>
      

  4.   

    以上字典,是把原来简体和对应位置繁体两个字典字串,有序交叉排列成一个字符字典。生产方法很简单:<SCRIPT>
    Array.prototype.each = function(arr){
                 return this.length ? [this.slice(0, 1), arr.slice(0, 1)].concat(this.slice(1).each(arr.slice(1))) : [];
    }
    var J = "皑蔼碍爱翱袄奥坝........".split("");
    var F = "皚藹礙愛翺襖奧壩........".split("");The Textarea`s value = J.each(F).join("");
    </script>
      

  5.   

    哦,使用上上面方法第一个汉字有小问题,懒得修改方法,把字典字串打头空两个空格就OK了:var words = "  皑皚蔼藹碍礙爱愛翱翺袄襖奥奧........";
      

  6.   


    A端负担会重些......嗯,“i+1”很难看。function Encoding() {
        var i = 0, str = document.getElementById("text").value;
        str = str.replace(/[\u4e00-\u9fa5]/g, function($) {
                i = words.indexOf($);
                return i < 0 && $ || words.charAt(i&1 && --i || ++i);
        });
        document.getElementById("text").value = str;
    }
      

  7.   

    赞同zswang所言,我在51js也回答楼主了。
    总的来说,如果是单篇文章,字数又不是特别多,不会有显著的性能提升。
    这些性能往往需要一个比较极端的条件下才能明显体现。
      

  8.   

    2个小细节
    for(var i=0;i<cc.length;i++)  -> for(var i=0,len=cc.length; i<len; i++)
    前者取length时候对cc进行一次hash查找,所以效率比后者低,后者用空间换时间用+号链接字符串要比放到数组里再join起来效率低
    放到数组里2种方法
    arr.push(s)和 arr[arr.length] = s;
    前者的函数调用会有额外开销,所以后者效率更高
      

  9.   

    可以考虑先对CC进行去重。然后从A1,A2中提取相应的供替换的子集,然后对CC用子集处理。
    没想具体的效率对比,只是感觉A1,A2集合过大是个问题,对很多文章CC来说,都只能用到它的一个小子集而已。
    或者把A1,A2的字串顺序调整一下,常用字放前面。
      

  10.   

    哦,谢谢,我再说明下我使用的环境,我是用来做批量简繁转换的,就是如意工具箱里面,现在这个批量转换已经做好了,用我顶部的代码。
    一段代码会重复运行的,页面不存在刷新,所以如果仅是第一个替换慢,后面更快那也是好的。
    另外替换的可能是html之类的上百k的文本。
      

  11.   


    哦,明白了。这样应该哈希索引快很多的——<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    <title>繁简互换</title>
    </head>
    <body>
    <textarea rows="43" cols="120" id="text"></textarea><br />
    <button onclick="Encoding(1)">简体到繁体</button>
    <button onclick="Encoding(0)">繁体到简体</button>
    <script type="text/javascript">
    (function() {
    var GB = "皑皚蔼藹碍礙爱愛翱翺袄襖奥奧坝壩罢罷摆擺败敗颁頒办辦绊絆帮幫绑綁镑鎊谤謗剥剝饱飽宝寶报報鲍鮑辈輩贝貝钡鋇狈狽备備惫憊绷繃笔筆毕畢毙斃闭閉边邊编編贬貶变變辩辯辫辮鳖鼈瘪癟濒瀕滨濱宾賓摈擯饼餅拨撥钵缽铂鉑驳駁卜蔔补補参參蚕蠶残殘惭慚惨慘灿燦苍蒼舱艙仓倉沧滄厕廁侧側册冊测測层層诧詫搀攙掺摻蝉蟬馋饞谗讒缠纏铲鏟产産阐闡颤顫场場尝嘗长長偿償肠腸厂廠畅暢钞鈔车車彻徹尘塵陈陳衬襯撑撐称稱惩懲诚誠骋騁痴癡迟遲驰馳耻恥齿齒炽熾冲沖虫蟲宠寵畴疇踌躊筹籌绸綢丑醜橱櫥厨廚锄鋤雏雛础礎储儲触觸处處传傳疮瘡闯闖创創锤錘纯純绰綽辞辭词詞赐賜聪聰葱蔥囱囪从從丛叢凑湊窜竄错錯达達带帶贷貸担擔单單郸鄲掸撣胆膽惮憚诞誕弹彈当當挡擋党黨荡蕩档檔捣搗岛島祷禱导導盗盜灯燈邓鄧敌敵涤滌递遞缔締点點垫墊电電淀澱钓釣调調迭叠谍諜叠疊钉釘顶頂锭錠订訂东東动動栋棟冻凍斗鬥犊犢独獨读讀赌賭镀鍍锻鍛断斷缎緞兑兌队隊对對吨噸顿頓钝鈍夺奪鹅鵝额額讹訛恶惡饿餓儿兒尔爾饵餌贰貳发發罚罰阀閥珐琺矾礬钒釩烦煩范範贩販饭飯访訪纺紡飞飛废廢费費纷紛坟墳奋奮愤憤粪糞丰豐枫楓锋鋒风風疯瘋冯馮缝縫讽諷凤鳳肤膚辐輻抚撫辅輔赋賦复複负負讣訃妇婦缚縛该該钙鈣盖蓋干幹赶趕秆稈赣贛冈岡刚剛钢鋼纲綱岗崗皋臯镐鎬搁擱鸽鴿阁閣铬鉻个個给給龚龔宫宮巩鞏贡貢钩鈎沟溝构構购購够夠蛊蠱顾顧剐剮关關观觀馆館惯慣贯貫广廣规規硅矽归歸龟龜闺閨轨軌诡詭柜櫃贵貴刽劊辊輥滚滾锅鍋国國过過骇駭韩韓汉漢阂閡鹤鶴贺賀横橫轰轟鸿鴻红紅后後壶壺护護沪滬户戶哗嘩华華画畫划劃话話怀懷坏壞欢歡环環还還缓緩换換唤喚痪瘓焕煥涣渙黄黃谎謊挥揮辉輝毁毀贿賄秽穢会會烩燴汇彙讳諱诲誨绘繪荤葷浑渾伙夥获獲货貨祸禍击擊机機积積饥饑讥譏鸡雞绩績缉緝极極辑輯级級挤擠几幾蓟薊剂劑济濟计計记記际際继繼纪紀夹夾荚莢颊頰贾賈钾鉀价價驾駕歼殲监監坚堅笺箋间間艰艱缄緘茧繭检檢碱堿硷鹼拣揀捡撿简簡俭儉减減荐薦槛檻鉴鑒践踐贱賤见見键鍵舰艦剑劍饯餞渐漸溅濺涧澗浆漿蒋蔣桨槳奖獎讲講酱醬胶膠浇澆骄驕娇嬌搅攪铰鉸矫矯侥僥脚腳饺餃缴繳绞絞轿轎较較秸稭阶階节節茎莖惊驚经經颈頸静靜镜鏡径徑痉痙竞競净淨纠糾厩廄旧舊驹駒举舉据據锯鋸惧懼剧劇鹃鵑绢絹杰傑洁潔结結诫誡届屆紧緊锦錦仅僅谨謹进進晋晉烬燼尽盡劲勁荆荊觉覺决決诀訣绝絕钧鈞军軍骏駿开開凯凱颗顆壳殼课課垦墾恳懇抠摳库庫裤褲夸誇块塊侩儈宽寬矿礦旷曠况況亏虧岿巋窥窺馈饋溃潰扩擴阔闊蜡蠟腊臘莱萊来來赖賴蓝藍栏欄拦攔篮籃阑闌兰蘭澜瀾谰讕揽攬览覽懒懶缆纜烂爛滥濫捞撈劳勞涝澇乐樂镭鐳垒壘类類泪淚篱籬离離里裏鲤鯉礼禮丽麗厉厲励勵砾礫历曆沥瀝隶隸俩倆联聯莲蓮连連镰鐮怜憐涟漣帘簾敛斂脸臉链鏈恋戀炼煉练練粮糧凉涼两兩辆輛谅諒疗療辽遼镣鐐猎獵临臨邻鄰鳞鱗凛凜赁賃龄齡铃鈴凌淩灵靈岭嶺领領馏餾刘劉龙龍聋聾咙嚨笼籠垄壟拢攏陇隴楼樓娄婁搂摟篓簍芦蘆卢盧颅顱庐廬炉爐掳擄卤鹵虏虜鲁魯赂賂禄祿录錄陆陸驴驢吕呂铝鋁侣侶屡屢缕縷虑慮滤濾绿綠峦巒挛攣孪孿滦灤乱亂抡掄轮輪伦倫仑侖沦淪纶綸论論萝蘿罗羅逻邏锣鑼箩籮骡騾骆駱络絡妈媽玛瑪码碼蚂螞马馬骂罵吗嗎买買麦麥卖賣迈邁脉脈瞒瞞馒饅蛮蠻满滿谩謾猫貓锚錨铆鉚贸貿么麽霉黴没沒镁鎂门門闷悶们們锰錳梦夢谜謎弥彌觅覓绵綿缅緬庙廟灭滅悯憫闽閩鸣鳴铭銘谬謬谋謀亩畝钠鈉纳納难難挠撓脑腦恼惱闹鬧馁餒腻膩撵攆捻撚酿釀鸟鳥聂聶啮齧镊鑷镍鎳柠檸狞獰宁甯拧擰泞濘钮鈕纽紐脓膿浓濃农農疟瘧诺諾欧歐鸥鷗殴毆呕嘔沤漚盘盤庞龐国國爱愛赔賠喷噴鹏鵬骗騙飘飄频頻贫貧苹蘋凭憑评評泼潑颇頗扑撲铺鋪朴樸谱譜脐臍齐齊骑騎岂豈启啓气氣弃棄讫訖牵牽扦扡钎釺铅鉛迁遷签簽谦謙钱錢钳鉗潜潛浅淺谴譴堑塹枪槍呛嗆墙牆蔷薔强強抢搶锹鍬桥橋乔喬侨僑翘翹窍竅窃竊钦欽亲親轻輕氢氫倾傾顷頃请請庆慶琼瓊穷窮趋趨区區躯軀驱驅龋齲颧顴权權劝勸却卻鹊鵲让讓饶饒扰擾绕繞热熱韧韌认認纫紉荣榮绒絨软軟锐銳闰閏润潤洒灑萨薩鳃鰓赛賽伞傘丧喪骚騷扫掃涩澀杀殺纱紗筛篩晒曬闪閃陕陝赡贍缮繕伤傷赏賞烧燒绍紹赊賒摄攝慑懾设設绅紳审審婶嬸肾腎渗滲声聲绳繩胜勝圣聖师師狮獅湿濕诗詩尸屍时時蚀蝕实實识識驶駛势勢释釋饰飾视視试試寿壽兽獸枢樞输輸书書赎贖属屬术術树樹竖豎数數帅帥双雙谁誰税稅顺順说說硕碩烁爍丝絲饲飼耸聳怂慫颂頌讼訟诵誦擞擻苏蘇诉訴肃肅虽雖绥綏岁歲孙孫损損笋筍缩縮琐瑣锁鎖獭獺挞撻抬擡摊攤贪貪瘫癱滩灘坛壇谭譚谈談叹歎汤湯烫燙涛濤绦縧腾騰誊謄锑銻题題体體屉屜条條贴貼铁鐵厅廳听聽烃烴铜銅统統头頭图圖涂塗团團颓頹蜕蛻脱脫鸵鴕驮馱驼駝椭橢洼窪袜襪弯彎湾灣顽頑万萬网網韦韋违違围圍为爲潍濰维維苇葦伟偉伪僞纬緯谓謂卫衛温溫闻聞纹紋稳穩问問瓮甕挝撾蜗蝸涡渦窝窩呜嗚钨鎢乌烏诬誣无無芜蕪吴吳坞塢雾霧务務误誤锡錫牺犧袭襲习習铣銑戏戲细細虾蝦辖轄峡峽侠俠狭狹厦廈锨鍁鲜鮮纤纖咸鹹贤賢衔銜闲閑显顯险險现現献獻县縣馅餡羡羨宪憲线線厢廂镶鑲乡鄉详詳响響项項萧蕭销銷晓曉啸嘯蝎蠍协協挟挾携攜胁脅谐諧写寫泻瀉谢謝锌鋅衅釁兴興汹洶锈鏽绣繡虚虛嘘噓须須许許绪緒续續轩軒悬懸选選癣癬绚絢学學勋勳询詢寻尋驯馴训訓讯訊逊遜压壓鸦鴉鸭鴨哑啞亚亞讶訝阉閹烟煙盐鹽严嚴颜顔阎閻艳豔厌厭砚硯彦彥谚諺验驗鸯鴦杨楊扬揚疡瘍阳陽痒癢养養样樣瑶瑤摇搖尧堯遥遙窑窯谣謠药藥爷爺页頁业業叶葉医醫铱銥颐頤遗遺仪儀彝彜蚁蟻艺藝亿億忆憶义義诣詣议議谊誼译譯异異绎繹荫蔭阴陰银銀饮飲樱櫻婴嬰鹰鷹应應缨纓莹瑩萤螢营營荧熒蝇蠅颖穎哟喲拥擁佣傭痈癰踊踴咏詠涌湧优優忧憂邮郵铀鈾犹猶游遊诱誘舆輿鱼魚渔漁娱娛与與屿嶼语語吁籲御禦狱獄誉譽预預驭馭鸳鴛渊淵辕轅园園员員圆圓缘緣远遠愿願约約跃躍钥鑰岳嶽粤粵悦悅阅閱云雲郧鄖匀勻陨隕运運蕴蘊酝醞晕暈韵韻杂雜灾災载載攒攢暂暫赞贊赃贓脏髒凿鑿枣棗灶竈责責择擇则則泽澤贼賊赠贈扎紮札劄轧軋铡鍘闸閘诈詐斋齋债債毡氈盏盞斩斬辗輾崭嶄栈棧战戰绽綻张張涨漲帐帳账賬胀脹赵趙蛰蟄辙轍锗鍺这這贞貞针針侦偵诊診镇鎮阵陣挣掙睁睜狰猙帧幀郑鄭证證织織职職执執纸紙挚摯掷擲帜幟质質钟鍾终終种種肿腫众衆诌謅轴軸皱皺昼晝骤驟猪豬诸諸诛誅烛燭瞩矚嘱囑贮貯铸鑄筑築驻駐专專砖磚转轉赚賺桩樁庄莊装裝妆妝壮壯状狀锥錐赘贅坠墜缀綴谆諄浊濁兹茲资資渍漬踪蹤综綜总總纵縱邹鄒诅詛组組钻鑽致緻钟鐘么麼为為只隻凶兇准準启啟板闆里裡雳靂余餘链鍊泄洩";
    //var t = new Date();
    var G_B = B_G = {};
    G_B = Function("return {" + GB.replace(/(.{1})(.{1})/g, '\'$1\':\'$2\',').replace(/,$/, '}'))();
    for (var key in G_B) {
        B_G[G_B[key]] = key;
    }
    //alert(new Date() - t);this.Encoding = function(K) {
        var GBG = K && G_B || B_G;
        var str = document.getElementById("text").value;
        str = str.replace(/[\u4e00-\u9fa5]/g, function($tr) {
              return GBG.hasOwnProperty($tr) && GBG[$tr] || $tr
        });
        document.getElementById("text").value = str;
    }
    })()
    </script>
    </body>
    </html>
      

  12.   

    再弄整齐些:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    <title>繁简互换</title>
    </head>
    <body>
    <textarea rows="43" cols="120" id="text">
    </textarea><br />
    <button onclick="Encoding(1)">简体到繁体</button>
    <button onclick="Encoding(0)">繁体到简体</button>
    <script type="text/javascript">
    (function() {
         var G_B = B_G = {};
         G_B = Function("return {" + "皑皚蔼藹碍礙爱愛翱翺袄襖奥奧坝壩罢罷摆擺败敗颁頒办辦绊絆帮幫绑綁镑鎊谤謗剥剝饱飽宝寶报報鲍鮑辈輩贝貝钡鋇狈狽备備惫憊绷繃笔筆毕畢毙斃闭閉边邊编編贬貶变變辩辯辫辮鳖鼈瘪癟濒瀕滨濱宾賓摈擯饼餅拨撥钵缽铂鉑驳駁卜蔔补補参參蚕蠶残殘惭慚惨慘灿燦苍蒼舱艙仓倉沧滄厕廁侧側册冊测測层層诧詫搀攙掺摻蝉蟬馋饞谗讒缠纏铲鏟产産阐闡颤顫场場尝嘗长長偿償肠腸厂廠畅暢钞鈔车車彻徹尘塵陈陳衬襯撑撐称稱惩懲诚誠骋騁痴癡迟遲驰馳耻恥齿齒炽熾冲沖虫蟲宠寵畴疇踌躊筹籌绸綢丑醜橱櫥厨廚锄鋤雏雛础礎储儲触觸处處传傳疮瘡闯闖创創锤錘纯純绰綽辞辭词詞赐賜聪聰葱蔥囱囪从從丛叢凑湊窜竄错錯达達带帶贷貸担擔单單郸鄲掸撣胆膽惮憚诞誕弹彈当當挡擋党黨荡蕩档檔捣搗岛島祷禱导導盗盜灯燈邓鄧敌敵涤滌递遞缔締点點垫墊电電淀澱钓釣调調迭叠谍諜叠疊钉釘顶頂锭錠订訂东東动動栋棟冻凍斗鬥犊犢独獨读讀赌賭镀鍍锻鍛断斷缎緞兑兌队隊对對吨噸顿頓钝鈍夺奪鹅鵝额額讹訛恶惡饿餓儿兒尔爾饵餌贰貳发發罚罰阀閥珐琺矾礬钒釩烦煩范範贩販饭飯访訪纺紡飞飛废廢费費纷紛坟墳奋奮愤憤粪糞丰豐枫楓锋鋒风風疯瘋冯馮缝縫讽諷凤鳳肤膚辐輻抚撫辅輔赋賦复複负負讣訃妇婦缚縛该該钙鈣盖蓋干幹赶趕秆稈赣贛冈岡刚剛钢鋼纲綱岗崗皋臯镐鎬搁擱鸽鴿阁閣铬鉻个個给給龚龔宫宮巩鞏贡貢钩鈎沟溝构構购購够夠蛊蠱顾顧剐剮关關观觀馆館惯慣贯貫广廣规規硅矽归歸龟龜闺閨轨軌诡詭柜櫃贵貴刽劊辊輥滚滾锅鍋国國过過骇駭韩韓汉漢阂閡鹤鶴贺賀横橫轰轟鸿鴻红紅后後壶壺护護沪滬户戶哗嘩华華画畫划劃话話怀懷坏壞欢歡环環还還缓緩换換唤喚痪瘓焕煥涣渙黄黃谎謊挥揮辉輝毁毀贿賄秽穢会會烩燴汇彙讳諱诲誨绘繪荤葷浑渾伙夥获獲货貨祸禍击擊机機积積饥饑讥譏鸡雞绩績缉緝极極辑輯级級挤擠几幾蓟薊剂劑济濟计計记記际際继繼纪紀夹夾荚莢颊頰贾賈钾鉀价價驾駕歼殲监監坚堅笺箋间間艰艱缄緘茧繭检檢碱堿硷鹼拣揀捡撿简簡俭儉减減荐薦槛檻鉴鑒践踐贱賤见見键鍵舰艦剑劍饯餞渐漸溅濺涧澗浆漿蒋蔣桨槳奖獎讲講酱醬胶膠浇澆骄驕娇嬌搅攪铰鉸矫矯侥僥脚腳饺餃缴繳绞絞轿轎较較秸稭阶階节節茎莖惊驚经經颈頸静靜镜鏡径徑痉痙竞競净淨纠糾厩廄旧舊驹駒举舉据據锯鋸惧懼剧劇鹃鵑绢絹杰傑洁潔结結诫誡届屆紧緊锦錦仅僅谨謹进進晋晉烬燼尽盡劲勁荆荊觉覺决決诀訣绝絕钧鈞军軍骏駿开開凯凱颗顆壳殼课課垦墾恳懇抠摳库庫裤褲夸誇块塊侩儈宽寬矿礦旷曠况況亏虧岿巋窥窺馈饋溃潰扩擴阔闊蜡蠟腊臘莱萊来來赖賴蓝藍栏欄拦攔篮籃阑闌兰蘭澜瀾谰讕揽攬览覽懒懶缆纜烂爛滥濫捞撈劳勞涝澇乐樂镭鐳垒壘类類泪淚篱籬离離里裏鲤鯉礼禮丽麗厉厲励勵砾礫历曆沥瀝隶隸俩倆联聯莲蓮连連镰鐮怜憐涟漣帘簾敛斂脸臉链鏈恋戀炼煉练練粮糧凉涼两兩辆輛谅諒疗療辽遼镣鐐猎獵临臨邻鄰鳞鱗凛凜赁賃龄齡铃鈴凌淩灵靈岭嶺领領馏餾刘劉龙龍聋聾咙嚨笼籠垄壟拢攏陇隴楼樓娄婁搂摟篓簍芦蘆卢盧颅顱庐廬炉爐掳擄卤鹵虏虜鲁魯赂賂禄祿录錄陆陸驴驢吕呂铝鋁侣侶屡屢缕縷虑慮滤濾绿綠峦巒挛攣孪孿滦灤乱亂抡掄轮輪伦倫仑侖沦淪纶綸论論萝蘿罗羅逻邏锣鑼箩籮骡騾骆駱络絡妈媽玛瑪码碼蚂螞马馬骂罵吗嗎买買麦麥卖賣迈邁脉脈瞒瞞馒饅蛮蠻满滿谩謾猫貓锚錨铆鉚贸貿么麽霉黴没沒镁鎂门門闷悶们們锰錳梦夢谜謎弥彌觅覓绵綿缅緬庙廟灭滅悯憫闽閩鸣鳴铭銘谬謬谋謀亩畝钠鈉纳納难難挠撓脑腦恼惱闹鬧馁餒腻膩撵攆捻撚酿釀鸟鳥聂聶啮齧镊鑷镍鎳柠檸狞獰宁甯拧擰泞濘钮鈕纽紐脓膿浓濃农農疟瘧诺諾欧歐鸥鷗殴毆呕嘔沤漚盘盤庞龐国國爱愛赔賠喷噴鹏鵬骗騙飘飄频頻贫貧苹蘋凭憑评評泼潑颇頗扑撲铺鋪朴樸谱譜脐臍齐齊骑騎岂豈启啓气氣弃棄讫訖牵牽扦扡钎釺铅鉛迁遷签簽谦謙钱錢钳鉗潜潛浅淺谴譴堑塹枪槍呛嗆墙牆蔷薔强強抢搶锹鍬桥橋乔喬侨僑翘翹窍竅窃竊钦欽亲親轻輕氢氫倾傾顷頃请請庆慶琼瓊穷窮趋趨区區躯軀驱驅龋齲颧顴权權劝勸却卻鹊鵲让讓饶饒扰擾绕繞热熱韧韌认認纫紉荣榮绒絨软軟锐銳闰閏润潤洒灑萨薩鳃鰓赛賽伞傘丧喪骚騷扫掃涩澀杀殺纱紗筛篩晒曬闪閃陕陝赡贍缮繕伤傷赏賞烧燒绍紹赊賒摄攝慑懾设設绅紳审審婶嬸肾腎渗滲声聲绳繩胜勝圣聖师師狮獅湿濕诗詩尸屍时時蚀蝕实實识識驶駛势勢释釋饰飾视視试試寿壽兽獸枢樞输輸书書赎贖属屬术術树樹竖豎数數帅帥双雙谁誰税稅顺順说說硕碩烁爍丝絲饲飼耸聳怂慫颂頌讼訟诵誦擞擻苏蘇诉訴肃肅虽雖绥綏岁歲孙孫损損笋筍缩縮琐瑣锁鎖獭獺挞撻抬擡摊攤贪貪瘫癱滩灘坛壇谭譚谈談叹歎汤湯烫燙涛濤绦縧腾騰誊謄锑銻题題体體屉屜条條贴貼铁鐵厅廳听聽烃烴铜銅统統头頭图圖涂塗团團颓頹蜕蛻脱脫鸵鴕驮馱驼駝椭橢洼窪袜襪弯彎湾灣顽頑万萬网網韦韋违違围圍为爲潍濰维維苇葦伟偉伪僞纬緯谓謂卫衛温溫闻聞纹紋稳穩问問瓮甕挝撾蜗蝸涡渦窝窩呜嗚钨鎢乌烏诬誣无無芜蕪吴吳坞塢雾霧务務误誤锡錫牺犧袭襲习習铣銑戏戲细細虾蝦辖轄峡峽侠俠狭狹厦廈锨鍁鲜鮮纤纖咸鹹贤賢衔銜闲閑显顯险險现現献獻县縣馅餡羡羨宪憲线線厢廂镶鑲乡鄉详詳响響项項萧蕭销銷晓曉啸嘯蝎蠍协協挟挾携攜胁脅谐諧写寫泻瀉谢謝锌鋅衅釁兴興汹洶锈鏽绣繡虚虛嘘噓须須许許绪緒续續轩軒悬懸选選癣癬绚絢学學勋勳询詢寻尋驯馴训訓讯訊逊遜压壓鸦鴉鸭鴨哑啞亚亞讶訝阉閹烟煙盐鹽严嚴颜顔阎閻艳豔厌厭砚硯彦彥谚諺验驗鸯鴦杨楊扬揚疡瘍阳陽痒癢养養样樣瑶瑤摇搖尧堯遥遙窑窯谣謠药藥爷爺页頁业業叶葉医醫铱銥颐頤遗遺仪儀彝彜蚁蟻艺藝亿億忆憶义義诣詣议議谊誼译譯异異绎繹荫蔭阴陰银銀饮飲樱櫻婴嬰鹰鷹应應缨纓莹瑩萤螢营營荧熒蝇蠅颖穎哟喲拥擁佣傭痈癰踊踴咏詠涌湧优優忧憂邮郵铀鈾犹猶游遊诱誘舆輿鱼魚渔漁娱娛与與屿嶼语語吁籲御禦狱獄誉譽预預驭馭鸳鴛渊淵辕轅园園员員圆圓缘緣远遠愿願约約跃躍钥鑰岳嶽粤粵悦悅阅閱云雲郧鄖匀勻陨隕运運蕴蘊酝醞晕暈韵韻杂雜灾災载載攒攢暂暫赞贊赃贓脏髒凿鑿枣棗灶竈责責择擇则則泽澤贼賊赠贈扎紮札劄轧軋铡鍘闸閘诈詐斋齋债債毡氈盏盞斩斬辗輾崭嶄栈棧战戰绽綻张張涨漲帐帳账賬胀脹赵趙蛰蟄辙轍锗鍺这這贞貞针針侦偵诊診镇鎮阵陣挣掙睁睜狰猙帧幀郑鄭证證织織职職执執纸紙挚摯掷擲帜幟质質钟鍾终終种種肿腫众衆诌謅轴軸皱皺昼晝骤驟猪豬诸諸诛誅烛燭瞩矚嘱囑贮貯铸鑄筑築驻駐专專砖磚转轉赚賺桩樁庄莊装裝妆妝壮壯状狀锥錐赘贅坠墜缀綴谆諄浊濁兹茲资資渍漬踪蹤综綜总總纵縱邹鄒诅詛组組钻鑽致緻钟鐘么麼为為只隻凶兇准準启啟板闆里裡雳靂余餘链鍊泄洩"
        .replace(/(.{1})(.{1})/g, '\'$1\':\'$2\',').replace(/,$/, '}'))();
         for (var key in G_B) B_G[G_B[key]] = key;
         this.Encoding = function(K) {
              var GBG = K && G_B || B_G;
              var str = document.getElementById("text").value;
              str = str.replace(/[\u4e00-\u9fa5]/g, function($tr) {
                    return GBG.hasOwnProperty($tr) && GBG[$tr] || $tr
              });
              document.getElementById("text").value = str;
         }
    })()
    </script>
    </body>
    </html>