У меня возникли проблемы с преобразованием вложения для вложений (простой текстовый файл в кодировке Windows-1251 с латинскими и кириллическими символами) в String. I. У меня проблема с преобразованием кириллицы. я получил вложенный файл в кодировке Base64, как это: «?»Base64 String to Windows1251 (кириллические символы)
Base64Encoded email Attachment
Так что, когда я пытаюсь расшифровать его, я получил вместо кириллических символов.
Как я могу получить правильные символы на кириллице, а не "?"
Я уже пробовал этот код со всеми кодировками, но ничего не помогает получить правильные русские символы.
BASE64Decoder dec = new BASE64Decoder();
for (String key : Charset.availableCharsets().keySet()) {
System.out.println("K=" + key + " Value:" +
Charset.availableCharsets().get(key));
try {
System.out.println(new String(dec.decodeBuffer(encoded), key));
} catch (Exception e) {
continue;
}
}
Спасибо заранее.
Вы уверены, что на самом деле это кириллическая строка, а не какие-то двоичные данные (сертификат PEM, его тип mime в разделе сведений - это приложение/октет-поток)? – Cromax
Да, я получаю файл pem - это запрос к цифровому сертификату. Но его можно прочитать с помощью блокнота. Поэтому я хочу получить его содержимое в java. Может быть, вы знаете какую-либо библиотеку для таких задач? – user3283133
Но я держал пари, что вы читали его в «Блокноте» в форме BASE64, не так ли? Используйте некоторый инструмент декодера BASE64 и посмотрите, что вы получаете. – Cromax