久久时间网
JAVASCRIPT二进制字符串转化为整数
更多文章...
今天想到如果JAVASCRIPT能处理二进制数据,则可以提高处理速度并节省带宽. 根据网上各位大神的文章,初步研究,总结如下:

<script>

var str="\xff\xff\x80\x80";

var bin = new ArrayBuffer(4);

var u8= new Uint8Array(bin);
var u16= new Uint16Array(bin);
var u32= new Uint32Array(bin);

for(i=0;i<str.length;i++){
u8[i]=str[i].charCodeAt();
}

document.write(u16[0]+","+u16[1]+"<br>");
document.write(u32[0]);

</script>

这个例子var str作为四字节原始数据,如果直接读取会被当做普通字符串.
所以接下来var bin使用ArrayBuffer作为二进制容器来进行转换。
接下来使用charCodeAt来读取str中的内码,使用Uint8Array对bin赋值。
使用Uint16Array、Uint32Array来读取数据。

如果读取成两个short int类型的整数就是0xffff,0x8080,它们的值显示出来是65536,32896
如果读取成long就是0xffff8080,显示出来就是2155937791.
如果处理更多字节的二进制数据,增加数组长度即可.
下一步实验一下服务器怎么传送二进制数据给客户端.


下一篇

bjtime.cn