问题出在out.print(p)
PrintStream并没有print(byte[])方法,你的out.print(p)只是调用了PrintStream(Object)而已,即相当于调用了out.print(p.toString())其他都没问题.
java中byte占8位,char占16位,所以如果字串中有非ASCII字符的话若想原样取出字串中的字符建议用String.getChar().

解决方案 »

  1.   

    你的out.print(p)只是调用了PrintStream.print(Object)而已
      

  2.   

    如果我原有一个byte[] byt= *****再用String str=byt.toString();或String str=new String(byt)把byt转成String型然后再用 byte[] byt2=str.getBytes()把String型转回byte[] 型,那么这个byt2与之前哪个byt是否完全相同呢???实践证明好象不一样了吧??
      

  3.   

    那个其实是对象的hash ID
    是没有重载过的toString打印出来的值 
    toString是Object的虚方法
      

  4.   

    如果我原有一个byte[] byt= [B@e328e0再用String str=byt.toString();或String str=new String(byt)把byt转成String型然后再用 byte[] byt2=str.getBytes()把String型转回byte[] 型,那么这个byt2与之前哪个byt是否完全相同呢???实践证明好象不一样了吧??请高手们回答我啊,多谢了~~~~~~~~~