开发者社区> 问答> 正文

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 2310 0
2 条回答
写回答
取消 提交回答
  • 编码问题。
    2019-07-17 18:46:00
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪

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

    2019-07-17 18:46:00
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多