如何将字符串转换为32位整数数组?

时间:2011-10-05 15:58:16

标签: javascript arrays string

我想将字符串发送到加密函数,该函数接受四(32位)整数的数组。 那么如何在javascript中将字符串转换为32位整数数组并将其除以将其发送给函数?

2 个答案:

答案 0 :(得分:3)

这就是家庭作业的气味,但是你走了。


方法1:

假设您要将字符串中的四个字符转换为整数,这将起作用:

// Declare your values.
var myString = "1234";

// Convert your string array to an int array.
var numberArray[myString.length];
for (var i = 0; i < myString.length]; i++)
{
    numberArray[i] = int.parseInt(myString[i]);
}

// Call your function.
MyEncryptionFunction(numberArray);

方法2:

假设您要将四个字符转换为其字符的数值,这将起作用:

// Declare your values.
var myString = "1,2,3,4";

// Convert your string array to an int array.
var numberArray[myString.length];
for (var i = 0; i < myString.length]; i++)
{
    numberArray[i] = myString.charCodeAt(i);
}

// Call your function.
MyEncryptionFunction(numberArray);

方法3:

假设您要分割由一致分隔符分隔的四个数字组,这将有效。

// Declare your values.
var splitter = ",";
var myString = "1,2,3,4";

// Convert myString to a string array.
var stringArray[] = myString.split(splitter);

// Convert your string array to an int array.
var numberArray[stringArray.length];
for (var i = 0; i < stringArray.length]; i++)
{
    numberArray[i] = int.parseInt(stringArray[i]);
}

// Call your function.
MyEncryptionFunction(numberArray);

答案 1 :(得分:1)

使用string.charCodeAt(i),在 i 位置获取字符串string的数字字符代码。根据您使用的加密,您可以应用自己的压缩方法来组合多个字符代码(大多数字符代码远小于32位)。

分离由对(4个字符)组成的数组中的字符串的示例:

var string = "A sstring dum doo foo bar";
var result = [];
string += Array((5-(string.length%4))%5).join(" "); //Adding padding at the end
for(var i=3, len=string.length; i<len; i+=4){
    result.push([string.charCodeAt(i-3), string.charCodeAt(i-2),
             string.charCodeAt(i-1), string.charCodeAt(i)]);
}