string 转 byte 的问题
我现在要从文件里读取汉字,我以二进制读入内存,然后把byte[]转化成String,但是从String转会byte[]的时候有些字符byte的值变了,
for(int i=0;i<buffer.length/2;i++){
byte[] strByte=new byte[2];
byte[] strByte2;
strByte[0]=buffer[2*i];
strByte[1]=buffer[2*i+1];
String str=new String(strByte);
System.out.println(str);
alStr.add(str);
strByte2=str.getBytes();
System.out.print(i+":");
System.out.print(Integer.toHexString((int)strByte[0]&0xff)+"\t");
System.out.println(Integer.toHexString((int)strByte[1]&0xff));
System.out.print(i+":");
System.out.print(Integer.toHexString((int)strByte2[0]&0xff)+"\t");
System.out.println(Integer.toHexString((int)strByte2[1]&0xff));
}
帮我看看是什么问题,谢谢