base64 でエンコードされたデータを文字列値として xml に渡す必要があります。以下のコードが異なる文字列表現を出力することに気付きました。どれが正しいですか、なぜですか?
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!