В Java я могу получить BigInteger
от String
, например:
public static void main(String[] args) {
String input = "banana";
byte[] bytes = input.getBytes(StandardCharsets.UTF_8);
BigInteger bigInteger = new BigInteger(bytes);
System.out.println("bytes: " + Arrays.toString(bytes));
System.out.println("bigInteger: " + bigInteger);
}
, который будет печатать
bytes: [98, 97, 110, 97, 110, 97]
bigInteger: 108170603228769
Я пытаюсь получить то же самоерезультат в JavaScript с использованием библиотеки big-integer .Но, как вы можете видеть, этот код возвращает другое значение:
var bigInt = require('big-integer');
function s(x) {
return x.charCodeAt(0);
}
var bytes = "banana".split('').map(s);
var bigInteger = bigInt.fromArray(bytes);
console.log("bytes: " + bytes);
console.log("bigInteger: " + bigInteger);
output:
bytes: 98,97,110,97,110,97
bigInteger: 10890897
Есть ли способ получить результат, который я получаю в Java с помощью JavaScript?И было бы это возможно также, если бы массив имел длину 32?