var s='abc';
sc1=s.charAt(0);//a
sc2=s.charAt(1);//b
sc3=s.charAt(2);//c这个么?
sc1=s.charAt(0);//a
sc2=s.charAt(1);//b
sc3=s.charAt(2);//c这个么?
解决方案 »
- 大侠们,求助。。
- 获取鼠标坐标位置中的问题
- 如何遍历网页所有的node,并找出哪些node是鼠标可以操作的
- 运行时错误是什么?
- radio自动选中的问题--100分
- 把form提交至一个静态网页是怎么回事
- 把一个页面自动另存为一个指定名称html页面,怎么样实现,俺知道document.execCommand('SaveAs')命令可以实现另存,但他会弹出一个保存对
- window.showModalDialog中参数传递的格式是什么样的来着?
- 调整Table的列的位置有哪些方法?
- 关于action跳转页面的一个问题
- javascript attachEvent 事件
- 如何获取js键值映射数组的length
<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>
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编码。依次获取所有字符串中的字节内容。
你们明白了吗?
{
return str.replace(/[^\x00-\xff]/g,'**').length
}
这个是用来获得字符串所占用的字节数。英文为一个字节。中文为两个字节。
charcodeat在遇到中文的时候,无法将第一字节和第二字节区分开来的。
比如:var dd="ds士大夫法"
dd.charCodeAt(2)="士"的一个编码值。而不是“士”的第一个字节的编码值。
{
return str.length ? str.charCodeAt(0).toString(16).concat(arguments.callee(str.slice(1))) : "";
}
alert(_0009("ds士大夫法"));
※以下是引用楼主 jtg98g3(跳舞的青蛙) 在2007-07-16 17:07:40 的发言:
──────────────────────────────────────────
帮助人也要先过自己的关。自己都还不明白的东西,却拿出来给别人。容易误导哦。这样的帮助还不如不要。帮助别人在态度上要先端正。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
你自己说了半天没能自己的问题描述清楚,怪谁呢?什么叫“按字节访问字符串”?这样的描述谁听得懂你要求?
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编码。依次获取所有字符串中的字节内容。
你们明白了吗?
=============================
这个能看懂吗?
在5楼就已经回你了呀,你不仔细看,后面的只是看你没看到,再写了一个提示
谢谢夏天了,:)
TO:楼主
上面夏天的方法和我的方法只是差在码制上了,他的是16进制的,我的是10进制的,
可以拿计算器算的
比如
test测试
我的是
116,101,115,116,109,75,139,213
而夏天的是
74,65,73,74,6d,4b,8b,d5
bit byte.. word...
这些你知道了嘛?
js 是没办法弄完全 二进制的...
====================
我用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}
总之很感谢你们热心回答问题。即使我有不正确的态度也很热心的回答问题。就冲这个,我加分。
你的需求是都转换成二进制是吧?
<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>
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]);