我在java中将字符串转换为字节,并将该字节数据存储到字符串变量中。
String s = "anu";
byte[] d = s.getBytes();
String e = Arrays.toString(d);
如何将该字符串(在本例中为变量' e')再次转换为分配给s的相同字符串,即#34; anu";
答案 0 :(得分:4)
首先,我强烈建议不要在没有charset参数的情况下使用getBytes()
。
接下来,只需使用带有字节数组和字符集的字符串构造函数:
String s = "anu";
byte[] d = s.getBytes(StandardCharsets.UTF_8);
String e = new String(d, StandardCharsets.UTF_8);
请注意,您应该只针对本身就是文本的数据执行此操作。如果您实际上是以任意二进制数据(例如图像,或压缩或加密的结果)开始的,则应使用base64或hex在文本中表示它,否则您很可能会丢失数据。 / p>
答案 1 :(得分:0)
你可以直接这个
String s1 = new String(d);
System.out.println(s1);
或者如果你真的想拥有" e"变量
String s2 = new String(e);
System.out.println(s2);