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流你没弄清楚