2 回答
TA贡献1828条经验 获得超3个赞
转换为字符串时使用它:
String bodyStr = new String(body.array());
System.out.println("THE BODY STRING ---> " + bodyStr);
来源:https ://www.mkyong.com/java/how-do-convert-byte-array-to-string-in-java/
TA贡献1877条经验 获得超1个赞
好吧,看来你的路不错。但是,您ByteBuffer可能没有合适的byte[]数组来解码,所以让我们尝试以下方法:
byte[] bytes = new byte[body.remaining()];
buffer.get(bytes);
String result = new String(bytes, "UTF-8"); // Maybe you need to change charset
这应该可行,您已经在ByteBuffer包含实际数据的问题中显示,如代码示例中给出的,您可能必须更改字符集。
字符集列表:https ://docs.oracle.com/javase/7/docs/api/java/nio/charset/Charset.html
也很有用:https ://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html
添加回答
举报
