呵呵
这样应该性能不错:
先正则判断是否为 &#数字; 格式。数字在0~255中
让后通过split函数将各个字符分开
通过循环将字符拼出来,可以将 &# 替换掉,只用 数字段 

解决方案 »

  1.   

    <script>
    function charCodeStrToStr(ccs){
    var temp = document.createElement("div");
    temp.innerHTML = ccs;
    return temp.innerText;
    };
    function strToCharCodeStr(ccs){
    for (var i=0,a=[];i<ccs.length;i++)
    a[i]="&#"+ccs.substr(i,1).charCodeAt(0)+";";
    return a.join("");
    };
    alert(charCodeStrToStr("&#97;&#98;&#99;&#100;&#101;"));
    alert(strToCharCodeStr("abcde"));
    </script>
      

  2.   

    to 阿信:strToCharCodeStr(s)性能: 在对26字符串的100次测试中,时间为:
    0.222ms/每字符串, 比不上普通的字符串处理(0.1465)
    但是达到了要求,谢谢.charCodeStrToStr(css):   在对26字符串的100次测试中,时间为:
    0.37ms/每字符串. 略显较慢
      

  3.   

    function charCodeToStr(s)
    {
     var temp=s.split(";"),i;
     var result="",length=temp.length-1;
     for(i=0;i<length;i++) result+=String.fromCharCode(parseInt(temp[i]));
     return result;
    }
    我按照一楼的做法,参数是"123;232;232;346;9887;"的形式,
    那么上面的函数的性能是0.15ms/每字符串(测试达到1000次函数调用)
    希望大家给我把这个函数精练一下,以达到0.1ms/每字符串