簡體   English   中英

如何將字符串轉換為32位整數數組?

[英]how to convert string to array of 32 bit integers?

我想將字符串發送到一個加密函數,該函數接受四個(32位)整數數組。 那么如何在javascript中將字符串轉換為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);

使用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)]);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM