如何将字符串转换为32位整数数组?
我想将字符串发送到一个加密函数,该函数接受一个包含四个(32位)整数的数组。 那么如何将字符串转换为JavaScript中的32位整数数组,并将其分为发送函数?如何将字符串转换为32位整数数组?
这气味作业的,但在这里你去。
方法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);
如果字符串中的字符不以逗号分隔,那么我们如何将字符串转换为字符串数组? – vaichidrewar
@vaichidrewar:我提出了新的**方法1 **。 –
使用string.charCodeAt(i)
,得到字符串string
的数字字符代码在位置i。根据您使用的加密,您可以应用自己的压缩方法来组合多个char代码(大多数char代码远小于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)]);
}
哪个字符串,编码等? – Gleno
“发送给函数”...这个函数在哪里?它是一个JavaScript函数吗?它是一个Web服务吗?你是在Web浏览器上下文还是其他服务器端系统上运行JavaScript? – Pointy