0

長さ 14 のバイト配列があります。最初の 2 つの要素を 1 つに結合するなどして、サイズを 7 にすることはできますか? つまり <{730C5454000160}> は次のようになります

<{73,0C,54,54,00,01,60}>.

または、文字列「730C5454000160」がない場合は、次のようなバイトの配列として必要です

<{73,0C,54,54,00,01,60}>.

誰か助けてください、ありがとう。

4

1 に答える 1

3

JDKがお手伝いします:

byte[] bytes = new byte[7];
System.arraycopy( ByteBuffer.allocate(8).putLong( Long.parseLong( s, 16 ) ).array(), 1, bytes, 0, 7);

ここにいくつかのテストコードがあります:

public static void main( String[] args ) {
    String s = "730C5454000160";

    byte[] bytes = new byte[7];
    System.arraycopy( ByteBuffer.allocate(8).putLong( Long.parseLong( s, 16 ) ).array(), 1, bytes, 0, 7);

    System.out.println( Arrays.toString(bytes ));
}

出力:

[115, 12, 84, 84, 0, 1, 96]
于 2012-06-20T06:58:33.287 に答える