5

Java では、次のように aBigIntegerから aを取得できます。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

big-integer ライブラリを使用して、JavaScript で同じ結果を得ようとしています。しかし、ご覧のとおり、このコードは別の値を返します。

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

出力:

bytes:      98,97,110,97,110,97
bigInteger: 10890897

JavaScript を使用して Java で取得した結果を取得する方法はありますか? また、配列の長さが 32 の場合も可能でしょうか?

4

1 に答える 1