如何将字符串存储为类型化数组?

时间:2014-09-04 17:55:24

标签: javascript

我正在尝试在javascript中将字符串转换为类型化数组(特别是Uint8Array)。我正在尝试将字符串字符的ASCII值存储为单独的数组元素。

var myString = 'foo bar baz " >';
var arr = new Uint8Array(myString);
console.log(arr.length); // Why is this 0?

为什么我创建的数组的长度是0?

2 个答案:

答案 0 :(得分:1)

从此链接:http://jsperf.com/string-to-uint8array

这是从字符串创建Uint8Array的最快方法:

var str  = "your string here";
var uint = new Uint8Array(str.length);

for(var i=0, j=str.length; i<j; ++i){
    uint[i] = str.charCodeAt(i);
}

正如所指出的,您的错误来自构造函数不接受字符串参数的事实。相反,您可以根据字符串的大小分配数组,并手动插入字符。

答案 1 :(得分:0)

this link你可以看到你的构造函数需要一个长度或一个参数的数组。

我会建议:

var myString = 'foo bar baz " >';
var arr = new Uint8Array(myString.length);
console.log(arr.length);