var s='abc';
sc1=s.charAt(0);//a
sc2=s.charAt(1);//b
sc3=s.charAt(2);//c这个么?

解决方案 »

  1.   

    比如要按UNICODE码进行字节访问
    <script language=javascript>
    var str="test测试"
    var str2=escape(str)
    alert(str2)
    var result=new Array();
    str2.replace(/((%u[0-9A-E]{4})|(.))/g,function(a){
    if(a.length==6){
    result.push(parseInt(a.substr(2,2),16).toString(10))
    result.push(parseInt(a.substr(4,2),16).toString(10))
    }else{
    result.push(a.charCodeAt(0))
    }
    })alert(result)
    </script>
      

  2.   

    function dd(){
    var aa="df电风扇";
    }如果用charat的话,得到如下结果。
    aa.charAt(0) "d"
    aa.charAt(1) "f"
    aa.charAt(2) "电"
    aa.charAt(3) "风"
    aa.charAt(4) "扇"
    我要做的是,获取d的ascii编码。获取f的ascii编码。获取电的第一个字节的ascii编码。获取第二个字节的ascii编码。依次获取所有字符串中的字节内容。
    你们明白了吗?
      

  3.   

    function GetLength(str)
    {
    return str.replace(/[^\x00-\xff]/g,'**').length
    }
    这个是用来获得字符串所占用的字节数。英文为一个字节。中文为两个字节。
      

  4.   

    你能不能回答得专业一点啊。
    charcodeat在遇到中文的时候,无法将第一字节和第二字节区分开来的。
    比如:var dd="ds士大夫法"
    dd.charCodeAt(2)="士"的一个编码值。而不是“士”的第一个字节的编码值。
      

  5.   

    function _0009(str)
    {
        return str.length ? str.charCodeAt(0).toString(16).concat(arguments.callee(str.slice(1))) : "";
    }
    alert(_0009("ds士大夫法"));
      

  6.   

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    ※以下是引用楼主 jtg98g3(跳舞的青蛙) 在2007-07-16 17:07:40 的发言:
    ──────────────────────────────────────────
    帮助人也要先过自己的关。自己都还不明白的东西,却拿出来给别人。容易误导哦。这样的帮助还不如不要。帮助别人在态度上要先端正。
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    你自己说了半天没能自己的问题描述清楚,怪谁呢?什么叫“按字节访问字符串”?这样的描述谁听得懂你要求?
      

  7.   

    function dd(){
    var aa="df电风扇";
    }如果用charat的话,得到如下结果。
    aa.charAt(0) "d"
    aa.charAt(1) "f"
    aa.charAt(2) "电"
    aa.charAt(3) "风"
    aa.charAt(4) "扇"
    我要做的是,获取d的ascii编码。获取f的ascii编码。获取电的第一个字节的ascii编码。获取第二个字节的ascii编码。依次获取所有字符串中的字节内容。
    你们明白了吗?
    =============================
    这个能看懂吗?
      

  8.   

    一个字符串,不管是什么编码,到了计算机中就是二进制。二进制最常用的单位是什么,是字节单位吧。当然其它单位都用,比如bit,word等。字符串在计算机中表达为一串串的字节组成的。每个字节的内容是就01010101等组成的。我要按字节来访问字符串。如果还没有看懂我的问题,却来回答。这有矛盾吧。
      

  9.   

    晕了,青蛙服你了呀
    在5楼就已经回你了呀,你不仔细看,后面的只是看你没看到,再写了一个提示
    谢谢夏天了,:)
    TO:楼主
      上面夏天的方法和我的方法只是差在码制上了,他的是16进制的,我的是10进制的,
    可以拿计算器算的
    比如
    test测试
    我的是
    116,101,115,116,109,75,139,213
    而夏天的是
    74,65,73,74,6d,4b,8b,d5
      

  10.   

    倒了...
    bit byte.. word...
    这些你知道了嘛?
    js 是没办法弄完全 二进制的...
      

  11.   

    hbhbhbhbhb1021(天外水火(我要多努力)) (
    ====================
    我用charCodeAt获取不了。如下:
    d:100*d:100*s:115*f:102*士:22763*大:22823*夫:22827*:NaN*:NaN*:NaN*
    大:22763。我想拆分为两个字节的。
    javascript函数
    function aa(SourStr){
      var LengthStr=GetLength(SourStr);
      var Place=0;
      var TempStr=window.document.getElementById("Text2");
      for(Place=0;Place<LengthStr;Place++){
        TempStr.value=TempStr.value+SourStr.substring(Place,Place+1)+":"+SourStr.charCodeAt(Place)+"*";
      }
      //SourStr.charCodeAt}
    总之很感谢你们热心回答问题。即使我有不正确的态度也很热心的回答问题。就冲这个,我加分。
      

  12.   

    开始的时候我是没太看懂你的意思!是我基础不扎实吧,我的感觉是别太拘泥在概念上,这些概念真的很烦,有的时候我真的感觉这些很讨厌,明明很容易理解的东西非要搞个什么术语,不光在IT行业,其他行业也这样.搞的我们还要学什么业务逻辑,什么打新股呀,标的呀,还打屁股呢,试问下"标的"这东西谁第一眼能看明白是什么意思.
    你的需求是都转换成二进制是吧?
    <script language=javascript>
    var str="test测试"
    var str2=escape(str)
    alert(str2)
    var result=new Array();
    str2.replace(/((%u[0-9A-E]{4})|(.))/g,function(a){
    if(a.length==6){
    result.push(parseInt(a.substr(2,2),16).toString(2))
    result.push(parseInt(a.substr(4,2),16).toString(2))
    }else{
    result.push(a.charCodeAt(0).toString(2))
    }
    })alert(result)
    </script>
      

  13.   

    ob.replace(/[^\x00-\xff]/g, '** ').length
      

  14.   

    test.jsvar str="asdf士的大夫";
    var bStr=[];
    var tmpStr="";
    for(var i=0;i<str.length;i++){
    tmpStr+=str.charCodeAt(i).toString(16)+"|";
    }
    //WScript.Echo(tmpStr);
    tmpStr=tmpStr.replace(/(([0-9]|[a-f]){2})(([0-9]|[a-f]){2})\|/g,"$1|$3|");
    //WScript.Echo(tmpStr);
    tmpStr=tmpStr.substring(0,tmpStr.length-1);
    bStr=tmpStr.split("|");
    WScript.Echo("样本字符串\""+str+"\"的字节长度为"+bStr.length);
    WScript.Echo(bStr);
    WScript.Echo("\""+str+"\"的第5个字节为"+bStr[5]);