java与其他语言之间Socket通信时的编码问题

本文介绍了Java中Socket通信时如何正确使用字节流来避免乱码问题。通过对比字符流与字节流的使用方式,强调了在跨平台通信中指定编码的重要性。
java的socket与其他程序语言通信时,一定记得使用字节流传输。
类似于

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();

则可以避免此问题。

记得关闭流和连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值