我有以下的Java代码:
byte[] signatureBytes = getSignature();
String signatureString = new String(signatureBytes, "UTF8");
byte[] signatureStringBytes = signatureString.getBytes("UTF8");
System.out.println(signatureBytes.length == signatureStringBytes.length); // prints false
Q:我可能误解了这个问题,但我认为new String(byte[] bytes, String charset)
和String.getBytes(charset)
是相反的操作?
Q:作为后续,以什么安全的方式传输byte[]数组作为字符串?