定义一个 byte 数组
用 for(int i=0;i<byte.length;i++)
     System.out.print(byte[i])
输出时,输出结果有 "-" 这个字符,这是怎么回事呢?

解决方案 »

  1.   

    byte==45 的时候输出'-'
    即其机器码为:0010 1011时
      

  2.   

    如果想显示成中文的,应该指定字符集用String(byte[] bytes,String charsetName)构造之后再输出
      

  3.   

    byte[] d = "你好".getBytes();
    for(int i=0;i<d .length;i++)
         System.out.print(d [i]);
        }
    输出结果为:
    -60-29-70-61那 这个 "-" 是代表的是什么?
      

  4.   

    0000 0000
    里边,第一个位是符号位.
    汉字转字节每个汉字会变成3-4个字节的(这有点像无符号数的概念,要几个合起来用相应的字符集才能表示相应的汉字!)
    你把它一个个拆开来就打印的话就是按byte来看的,范围是:
    -128到127!!