2

Java の文字列に 0x10 などのバイトを追加する必要がある場所で、この操作を実行する必要があります。どうすればこれを行うことができるのだろうと思っていました。

例えば:

String someString = "HELLO WORLD";
byte someByte = 0x10;

この例では、someByte を someString に追加するにはどうすればよいでしょうか?

私がこの質問をしている理由は、私が開発しているアプリケーションが何らかのサーバーにコマンドを送信することになっているためです。サーバーは、コマンド (base64 エンコード) を受け入れ、コマンドをデコードし、特別な機能を実行するための ASCII エンコード標準と必ずしも互換性がないこれらのバイトを解析できます。

4

3 に答える 3

3

String リテラルを拡張するだけの場合は、次のものを使用します。

System.out.println("Hello World\u0010");

それ以外は:

String s1 = "Hello World";
String s2 = s1 + '\u0010';

いいえ - 文字はバイトではなく、その逆も同様です。しかし、ここでは近似は十分に近いです:-)

于 2013-04-12T17:21:23.280 に答える
3

バイトの文字列表現を ascii char にしたい場合は、これを試してください:

public static void main(String[] args) {
    String a = "bla";

    byte x = 0x21; // Ascii code for '!'

    a += (char)x;

    System.out.println(a); // Will print out 'bla!'
}

バイト値を文字列としての 16 進表現に変換する場合は、Integer.toHexStringを見てください。

于 2013-04-12T17:12:28.630 に答える