一尘不染

如何在Java中将字节数组转换为String?

java

如何将转换bytesString而不进行转换?

我试过了:

  String doc=new String( bytes);

但是doc文件与字节不同(字节是 二进制信息 )。例如:

  String doc=new String( bytes);
  byte[] bytes2=doc.getBytes();

bytes并且bytes2是不同的。

PS:UTF-8不起作用,因为它会将一些字节转换为不同的值。我测试了,它不起作用。

PS2:不,我不要BASE64


阅读 423

收藏
2020-12-03

共1个答案

一尘不染

您需要指定所需的编码,例如UTF-8

String doc = ....
byte[] bytes = doc.getBytes("UTF-8");
String doc2 = new String(bytes, "UTF-8");

doc并且doc2将是相同的。

要解码,byte[]您需要知道使用了哪种编码,以确保可以正确解码。

2020-12-03