日期:2014-05-20  浏览次数:20708 次

java socket 接收服务端的信息出现乱码
...
 InputStream is=socket.getInputStream();
 byte[] b = new byte[1024];
 int n = is.read(b);
 String str=new String(b, 0, n);
 System.out.println("result:\t"+str);
...
控制台输出:
result: ???

用调试工具(NetAssist)接收显示正常 返回数据类型是字符型的(0或1)

希望能大虾们能帮忙分析下并给出解决方案
------解决方案--------------------
可能编码格式出错。试下String str = new String(buf,"UTF-8")这样指定下格式。
------解决方案--------------------
你的代码本身就有问题!!!

while((n=is.read(b))>0){
................................................你都没读完

}
IO流你没弄清楚