我正在处理一些代码,它将String转换为byte [],然后从byte []转换为String(String是原始String的二进制表示),然后我想要做一些事情那个字符串。
当我尝试将String转换为byte []和byte []为原始字符串时,某些东西不起作用。
byte[] binary = "Example".getBytes(StandardCharsets.UTF_8);
String x = new String();
for(byte b : binary)
{
x += Integer.toBinaryString(b);
}
byte[] b = new byte[x.length()];
for (int i = 0; i < b.length; i++)
{
b[i] = (byte) (x.charAt(i) - '0');
}
String str = new String(b, StandardCharsets.UTF_8);
System.out.println(str);
正如您在该代码中所看到的,我正在使用一个名为“Example”的示例字符串,而我正在尝试执行上面所写的操作。
当我打印str
时,我没有得到“示例”字符串
有谁知道这样做的方法?我在Stack Overflow上搜索了一个解决方案,但我无法找到解决方案。
答案 0 :(得分:-1)
这应该没有中间部分。
byte[] binary = "Example".getBytes(StandardCharsets.UTF_8);
String str = new String(binary, StandardCharsets.UTF_8);
System.out.println(str);