JAVA做服务端,C做客户端,但C发送大于127的ASCII过来时,JAVA收到的不一样,请问如何转换它?

解决方案 »

  1.   

    我做过这类问题,没出现楼主你说的情况。把你的代码具体情况说出来吧。。应该你的socket流读取错误,C发过来的报文最好用byte数组读取,而不是用char数组,否则java对大于127的ascii值转换成unicode码时会有问题的。
      

  2.   

    in = new BufferedReader(new InputStreamReader(socket.getInputStream());
    BufferedReader.Read只有转换到CHAR,没有BYTE,是不是我用错了
      

  3.   

    你确定字符编码是正确的
    C与Java的编码是一致的嘛
    还有就是读取最好是用二进制流读取(别人已经提到过了)
      

  4.   

    用 getByte 进行读取,不要用什么 readline 之类的字符操作,要用字节操作。