String x=new String(byte[] b1,String encodeName);
byte[] b2=x.getByte(String encodeName);
b1=b2?
这两个方法按道理来说,b1和b2的内容应该是相同的,只要保证encodeName相同,但是有时候不一样,原因在于b1是通过什么编码获取的,举个例子
AES算法是采用ISO-8859-1编码的,这时
String------ISO-8859-1------>byte[]------UTF-8------>String------UTF-8------>byte[]
这样就会不一致,因为ISO-8859-1是一个字节对一个字符,但UTF-8是1到6个字节对应一个字符,所以同一个字节如-123在ISO-8859-1是某个字符,但在UTF-8可能就不识别,变成63。传输过程中最好就用byte[].