String和byte[]互相转换的问题

今天在做LmacSHA1加密解密时,遇到一个奇怪的问题:

byte[] byteArr1 = {1, 2, 3, -4};

String s = new String(byteArr);

byte[] byteArr2 = s.getBytes();


发现byteArr2和byteArr1是不相同的。但是把byteArr1里的值全部换成正数是相同的。

经实验,如果把编码换成ISO-8859-1后,即使有负数,转化后也相同了。原因还得继续研究一下

你可能感兴趣的:(java,字符编码)