开发者社区 问答 正文

byte[] 转换成 String 之后数据不全

// 调用socket获取数据
byte[] byteMessage = SocketAppClient.send_recv(message);
// 转换成 String
String JsonMessage = new String(byteMessage,"UTF-8").substring(8);
转换完之后得到的数据JsonMessage 数据不全,或者是结尾处出现乱码

展开
收起
蛮大人123 2016-02-21 15:29:52 2486 分享 版权
2 条回答
写回答
取消 提交回答
  • 编码问题。
    2019-07-17 18:46:00
    赞同 展开评论
  • 我说我不帅他们就打我,还说我虚伪

    1.检查byteMessage是否有长度小于传送数据的情况,这时候有可能导致只接收了部分数据。
    2.检查byteMessage是否有长度大于传送数据的情况,这时候有可能导致转化的JsonMessage有乱码。
    总之你接收的byte[]要和传送的大小保持一致。

    2019-07-17 18:46:00
    赞同 展开评论
问答地址: