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
添加回答
舉報