2015-12-22 102 views
0

我正在处理一些代码,将字符串转换为字节[],然后从字节[]到字符串(一个字符串,它是原始字符串的二进制表示),那么我想用String来做一些事情。
当我尝试将字符串转换为byte []和byte []为原始字符串时,某些内容不起作用。如您在该代码中看到的,我使用了一个名为“Example”的字符串,并且我正在尝试执行上面所写的内容。
当我打印str时,我没有看到“示例”字符串。
有谁知道一种方法来做到这一点?我在堆栈溢出本身搜索了一个解决方案,但我找不出解决方案。字符串到字节[]和字节[]字符串

+0

你有尝试过将字节转换为字符串的Arrays.toString(byte [])吗? – Shriram

+0

'x + = Integer.toBinaryString(b);'会是'x + =“1000101”; '为字符'E'(= ascii 69) –

+0

@JörnBuitink是的,但我如何将这个二进制字符串转换为原始字符串“Example”? – Omar

回答

-1

这应该没有中间部分。

byte[] binary = "Example".getBytes(StandardCharsets.UTF_8); 
String str = new String(binary, StandardCharsets.UTF_8); 
System.out.println(str); 
+0

不。我说我想要用byte []数组做一些事情,所以我不能删除中间部分。 – Omar

+0

那么真正的问题是你想用它做什么?因为这种变异操作是导致字符串改变的原因。 – dolan

+0

我正在实现类似密码的东西,所以我必须对字符串的二进制表示做些什么,然后再次获取字符串的二进制表示,以便我可以获取原始字符串。 – Omar