1.golang tcp server , android tcp client。
2.golang 发送将json字符串转为byte[]对象到android端,android读取到byte[],解析成string乱码,不是理想的json字符串。
3.解决方式
golang tcp server 端,首先将Object对象用json.marshal转为byte[],然后将byte[]转为base64字符串(base64.stdEncoding.EncodingToString),最后将数据通过socket发送出去(con.Write([]byte(dst)))
android tcp client端,首先读取read接收数据为byte[] msg。
Gson gson = new Gson();
byte[] data = android.util.Base64.decode(msg, android.util.Base64.DEFAULT);
// new String()将byte[]转为json字符串string
String dst = new String(data);
LogUtil.d(dst);
DeviceVideo video = (DeviceVideo) gson.fromJson(dst, DeviceVideo.class);
LogUtil.d("解析后的结果:" + video.getVideo_path());
文章描述了在GolangTCP服务器向AndroidTCP客户端发送JSON数据时遇到的乱码问题。解决方案是Golang端将JSON对象转换为Base64编码的字符串进行传输,而Android端接收到数据后解码回JSON字符串。使用Gson库成功解析该字符串为DeviceVideo对象。
2469

被折叠的 条评论
为什么被折叠?



