字符是字符,如果你要处理binary value,应该用byte如果你硬要用String做,编码都要指定ISO-8859-18C如果用ASCII、BIG5、UTF8,会因为找不到这个字符,被转成FFFD (Unicode replacement character),再转回来就变3F3F就是?,都是代表不明字符还有一个方法就是真的用字符来做,String AA = new String(char[]{0x00,0x8c,'5','5'...}),但是java的char是16bits你想输出成一个字符一个byte最终还是要转成byte