1

私はJavaが初めてです。10進数値のバイト配列を16進数文字列に変換したい。私の入力バイト配列は [0, 0, 0, 0, 0, 0, 1, -28] です。0000001e4 の代わりに 00000000000001e4 を取得しています。この問題を解決するのを手伝ってください

 public static String ConvetToHex(byte[] decValue) 
{

    String value = "";
    for(int i = 0;i<decValue.length;i++)
    {
         value = value+ Integer.toString((decValue[i] & 0xff) + 0x100, 16).substring(1);
    }
    return value;
}
4

1 に答える 1

2

私には正しいように見えます。8 バイトは 16 の 16 進文字に変換する必要があります。使用できます

return new BigInteger(1, decValue).toString(16);

しかし、それは同じ出力を生成します。

于 2012-12-13T11:39:07.267 に答える