我需要执行此操作,我需要将一个字节(如0x10)附加到Java中的某些String。我想知道如何才能做到这一点?
例如:
String someString = "HELLO WORLD";
byte someByte = 0x10;
在这个例子中,我如何将someByte附加到someString?
我之所以问这个问题,是因为我正在开发的应用程序应该将命令发送到某个服务器。服务器能够接受命令(base64编码),解码命令,并解析出这些不一定与任何类型的ASCII编码标准兼容的字节,以执行某些特殊功能。
答案 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);