Это похоже на проблему между UTF16, который является нативным форматом символов Java, и UTF8.Сущность, кодирующая строку, должна иметь формат UTF8.
Для декодирования строки из UTF8 используйте:
// to decode a string
String decoded = new String(Base64.decodeBase64(encoded.getBytes()), "UTF8");
Это дает мне правильный вывод.Если вам нужно преобразовать строку UTF8 в UTF16, вы должны сделать:
new String(utf8String.getBytes(), "UTF8");