java的socket与其他程序语言通信时,一定记得使用字节流传输。
类似于
的流程往往导致服务端解析乱码。PrintWriter发送字符流,而字符是给人看的。要让机器容易看懂,该使用字节流。
若上面的流程改为:
则可以避免此问题。
记得关闭流和连接。
类似于
PrintWriter out;
out = new PrintWriter(socket.getOutputStream());
out.println(strOut);
out.flush();
的流程往往导致服务端解析乱码。PrintWriter发送字符流,而字符是给人看的。要让机器容易看懂,该使用字节流。
若上面的流程改为:
OutputStream out;
out=socket.getOutputStream();
out.write(sTemp.getBytes("GB2312"));//服务器端能解析的编码。
out.flush();
则可以避免此问题。
记得关闭流和连接。
本文介绍了Java中Socket通信时如何正确使用字节流来避免乱码问题。通过对比字符流与字节流的使用方式,强调了在跨平台通信中指定编码的重要性。
5711

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



