我从client端依次向一个byte数组中写入了下面的数据并发送至服务器:
init 123 true 中文服务器端收到的byte数组的内容如下:
0 4 105 110 105 116 0 0 0 123 1 0 6 -28 -72 -83 -26 -106 -121我只能大概看懂这个byte数组的一些意思,比如第二个4,是说init是4位,而后面四个是代表init四个字母的,但是找不到完整的规律。请问一下,这些byte值的排列顺序,和原始数据的规律是什么?有没有什么类和方法可以直接从byte数组中,通过readInt readBoolean这样的方法,把原始数据取出来?刚学习java,见笑。^_^

解决方案 »

  1.   

    请问一下,这些byte值的排列顺序,和原始数据的规律是什么?有没有什么类和方法可以直接从byte数组中,通过readInt readBoolean这样的方法,把原始数据取出来?==============这个倒是没有研究过。
    根据 encode 不不同,估计得到的 字节也是不一样的吧。
    不是很清楚。lz不要在这里钻牛角间了,建议。
      

  2.   

    使用DataOutputStream,DataInputStream包装流来进行读写,该流提供了具体的数据类型的读写
      

  3.   

    传输中使用的 encoding 肯定是 UTF-8 的了,从“中文”两个字变成了 6 个字节可以看出来的。其他的就看不出什么了,不知道为什么 123 好像没有转,true 也不知道转成什么了,还有为什么它知道是布尔的“true”,而非字符的“true”。
      

  4.   

    谢谢paopao_wu(污泡泡),我要的正是DataOutputStream,因为对java不熟悉,不知道有这样的一个类。谢谢。^_^。