如何将存储在字符串变量中的字节数据转换为字符串

时间:2015-03-06 08:34:46

标签: java

我在java中将字符串转换为字节,并将该字节数据存储到字符串变量中。

String s = "anu";
byte[] d = s.getBytes();
String e = Arrays.toString(d);

如何将该字符串(在本例中为变量' e')再次转换为分配给s的相同字符串,即#34; anu";

2 个答案:

答案 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);