2

我有这个操作需要执行,我需要将一个字节(如 0x10)附加到 Java 中的某个字符串。我想知道我该怎么做呢?

例如:

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

在此示例中,我将如何将 someByte 附加到 someString?

我问这个问题的原因是因为我正在开发的应用程序应该向某个服务器发送命令。服务器能够接受命令(base64 编码),对命令进行解码,并解析出这些不一定与任何类型的 ASCII 编码标准兼容的字节,以执行某些特殊功能。

4

3 回答 3

5

如果要将 a 的实际值连接byte到 aString使用Byte包装器及其toString()方法,如下所示:

String someString = "STRING";
byte someByte = 0x10;
someString += Byte.toString(someByte);
于 2013-04-12T17:18:06.343 回答
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!'
}

如果您想将字节值转换为字符串的十六进制表示形式,请查看Integer.toHexString

于 2013-04-12T17:12:28.630 回答
3

如果你只是想扩展一个字符串文字,那么使用这个:

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

除此以外:

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

并且没有 - 字符不是字节,反之亦然。但是这里的近似值已经足够接近了:-)

于 2013-04-12T17:21:23.280 回答