1

私は次の配列を持っています

final byte[] texttoprint = new byte[]{0x1b, 0x40, 0x1b,0x74,0x0D,
       (byte) 0x91,(byte) 0x92,(byte) 0x93,(byte) 0x94,(byte) 0x95,
       (byte) 0x96,(byte) 0x97,(byte) 0x98,(byte) 0x99,
       0x0A,0x0A,0x0A,0x0A,0x0A};

そして、次のように、その値をEclipseのlogcatに出力したいと思います。

0x1b , 0x40

等々。

私はこれを試しました:

for (int index = 0; index < texttoprint.length;){
  Log.i("myactivity", String.format("%20x", texttoprint[index]));
}

しかし、それは1Bを印刷する無限ループを行います。

このコードで:

Log.i("myactivity", Arrays.toString(texttoprint));

印刷します:[27, 64, 27...]

私はどこが間違っていますか?

4

2 に答える 2

4

ループでは、ループ内の各パスのインデックスもインクリメントする必要があります。

for (int index = 0; index < texttoprint.length; index++){
 Log.i("myactivity", String.format("0x%20x", texttoprint[index]));
}

また

for (byte b: texttoprint){
 Log.i("myactivity", String.format("0x%20x", b));
}
于 2012-09-10T18:58:41.417 に答える
0

ログを印刷します。

            StringBuilder log = new StringBuilder();
            int i = 0;
            for (byte b : data.data) {
                i++;
                log.append(String.format("%02x", b));
                if (i % 4 == 0) {
                    log.append(" ");
                }
            }
于 2018-12-07T13:25:11.057 に答える