Как преобразовать строку в массив из 32-х битных чисел? - PullRequest
0 голосов
/ 05 октября 2011

Я хочу отправить строку в функцию шифрования, которая принимает массив из четырех (32-разрядных) целых чисел.Итак, как преобразовать строку в массив 32-битных целых чисел в javascript и разделить ее, чтобы отправить в функцию?

Ответы [ 2 ]

3 голосов
/ 05 октября 2011

Это пахнет домашней работой, но вот, пожалуйста.


Метод 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 голос
/ 05 октября 2011

Используйте string.charCodeAt(i), чтобы получить числовой код символа строки string в позиции i .В зависимости от используемого шифрования вы можете применить собственный метод сжатия для объединения нескольких кодов символов (большинство кодов символов значительно меньше 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)]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...