5

次の文字列を指定します。

3132333435363738396162636465666768696a6b6c6d6e6f70

文字列を16進数に変換しましたが、文字列ではなく16進数としてファイルに書き込みたいと思います。私はそれをintに変換しようとしましたが、Integer.parseInt最大4つしか変換できず、それを超えるとすでにエラーが発生します。

4

3 に答える 3

8

BigInteger文字列と基数を取るコンストラクターを試しましたか?

BigInteger value = new BigInteger(hex, 16);

サンプルコード:

import java.math.BigInteger;

public class Test {

    public static void main(String[] args) {
        String hex = "3132333435363738396162636465666768696a6b6c6d6e6f70";
        BigInteger number = new BigInteger(hex , 16);
        System.out.println(number); // As decimal...
    }
}

出力:

308808885829455478403317837970537433512288994552567292653424
于 2013-02-20T07:41:03.503 に答える
1

BigIntegerを使用します。コンストラクターの 1 つは基数を取ります。

BigInteger value = new BigInteger(hexString, 16);
于 2013-02-20T07:40:21.863 に答える