56

私はこれに困惑しており、新鮮な目が必要です。なぜこのコードがこれを行っているのかわかりません。

String string = new String(new char[] {(char) 0x01, (char) 0x02, ... ,(char) 0xFC});

出力は、-4 を返す最後の数値 (0xFC) までのすべてです。16 進数値であることはわかっていますが、10 進数値の 252 で同じことを行うと、負の値も返されます。これが単純な解決策であることを願っていますが、私にはわかりません。

ありがとうございます。

4

1 に答える 1

159

文字列から文字配列への変換は次のように単純です。

String str = "someString"; 
char[] charArray = str.toCharArray();

あなたがやろうとしていることについてもう少し説明できますか?

* アップデート *

あなたの新しいコメントを理解している場合は、バイト配列を使用でき、例が提供されています。

byte[] bytes = ByteBuffer.allocate(4).putInt(1695609641).array();

for (byte b : bytes) {
   System.out.format("0x%x ", b);
}

次の出力で

0x65 0x10 0xf3 0x29

于 2012-04-06T20:36:47.500 に答える