如何在Java中将字节附加到字符串?

时间:2013-04-12 17:09:14

标签: java string hex byte

我需要执行此操作,我需要将一个字节(如0x10)附加到Java中的某些String。我想知道如何才能做到这一点?

例如:

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

在这个例子中,我如何将someByte附加到someString?

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

3 个答案:

答案 0 :(得分:3)

如果您希望将字节的String表示形式设置为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!'
}

如果要将字节值转换为十六进制表示形式为String,请查看Integer.toHexString

答案 1 :(得分:3)

如果您只想扩展String字面值,请使用以下字符:

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

否则:

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

无字符不是字节,反之亦然。但这里的近似值足够接近: - )

答案 2 :(得分:2)

如果要将byte的实际值与String连接起来,请使用Byte包装器及其toString()方法,如下所示:

String someString = "STRING";
byte someByte = 0x10;
someString += Byte.toString(someByte);