1
我需要將base64編碼數據作爲字符串值傳遞給xml。我注意到下面的代碼會打印不同的字符串表示哪一個是正確的,爲什麼?新的String(byte [])和DatatypeConverter.printBase64Binary(byte [])有什麼區別?
String example = "Hello universe!";
byte[] base64data = Base64.encodeBase64(example.getBytes());
System.out.println(new String(base64data));
System.out.println(DatatypeConverter.printBase64Binary(base64data));
System.out.println(new String(Base64.decodeBase64(base64data), "UTF-8"));
而我得到的結果:
SGVsbG8gdW5pdmVyc2Uh
U0dWc2JHOGdkVzVwZG1WeWMyVWg=
Hello universe!
你說得對。方法的名稱誤導了我。如果它是printAsBase64Binary或者encodeBase64Binary,那麼就不會有任何問題:)而且還有區別。第一個打印字節,第二個打印字節 – jasiustasiu