Непосредственная проблема заключается в том, как вы преобразуете байтовый массив в строку.
Попробуйте вместо этого:
System.out.println(new String(decode));
Однако , обычно плохая идея использовать перегрузки String.getBytes()
или new String(byte[])
, которые не определяют кодировку символов. Они используют кодировку платформы по умолчанию, что сразу означает, что ваш код не является переносимым - или, по крайней мере, ваши данные - нет. Я предлагаю вам использовать обычную кодировку, например UTF-8.