定位器回传数据,需要按照长度切割字符串,
在处理定位数据回传时,定位器回回传一条或者连在一起的几条数据,所以要按照32字节进行切割
2471012160480329022402112232103700113284958E000161FFFFFBFFFF000F //一条记录
2471012160480329022402112232103700113284958E000161FFFFFBFFFF000F2471012160480329022402112232103700113284958E000161FFFFFBFFFF000F2471012160480329022402112232103700113284958E000161FFFFFBFFFF000F2471012160480329022402112232103700113284958E000161FFFFFBFFFF000F //四条记录。
暂时没有办法进行切割。 查javascript 资料,用replace
var str = buffer.replace(/(.{32})/g)
3 回复
var strArr = [];
var n = 64;
for (var i = 0, l = buffer.length; i < l/n; i++) {
var a = buffer.slice(n*i, n*(i+1));
strArr.push(a);
}
console.log(strArr);
实现了
var flag = 32;
var arr = [];
for(var i=0,len=str.length/flag;i<len;i++) {
str1 = str.substr(0,flag);
str = str.replace(str1,'');
//在此可以进行arr.push(str1)操作
alert(str1);
}
if ( buffer.length < 1025 ){
var flag = 64;
var arr = [];
for(var i=0,len=buffer.length/flag;i<len;i++) {
str1 = buffer.substr(0,flag);
buffer = buffer.replace(str1,'');
arr.push(str1);
}
可以输出数组了, [ ‘2471012160100329022402112232103700113284958e000161fffffbffff000f’, ‘2471012160110429022402112332103700113284958e000162fffffbffff000f’, ‘2471012160120529022402112432103700113284958e000163fffffbffff000f’ ]
对上面的数组元素进行解码的已写好,但如何把这些数组的元素一个一个传递到变量 msg。