我想将字符串发送到加密函数,该函数接受四(32位)整数的数组。 那么如何在javascript中将字符串转换为32位整数数组并将其除以将其发送给函数?
答案 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)]);
}