2011-10-05 79 views
0

我想将字符串发送到一个加密函数,该函数接受一个包含四个(32位)整数的数组。 那么如何将字符串转换为JavaScript中的32位整数数组,并将其分为发送函数?如何将字符串转换为32位整数数组?

+2

哪个字符串,编码等? – Gleno

+0

“发送给函数”...这个函数在哪里?它是一个JavaScript函数吗?它是一个Web服务吗?你是在Web浏览器上下文还是其他服务器端系统上运行JavaScript? – Pointy

回答

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); 
+0

如果字符串中的字符不以逗号分隔,那么我们如何将字符串转换为字符串数组? – vaichidrewar

+1

@vaichidrewar:我提出了新的**方法1 **。 –

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)]); 
} 
相关问题