Моя домашняя работа в курсе - это почтовый клиент, я использовал pop3 для получения строки по электронной почте:
Тема: =? UTF-8? B? 6L + Z5piv5Li76aKY? =
Затем я использовал regexp для извлечения 6L + Z5piv5Li76aKY, декодировал его с Base64, а мое рабочее пространство Eclipse - UTF-8. Это показывает: L_ /y + .., но изначально китайский 这 是 主题
Как я могу показать его правильно? Содержимое электронной почты работает хорошо, и оно кодируется также с Base64 и UTF-8, но субъект не может работать.
Вот код
if (buf.startsWith("Subject:")) {
String regex = "=\\?UTF-8\\?B\\?(.*)\\?=";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(buf);
while (m.find()) {
subject = MyBase64.getFromBASE64(m.group(1));
}
subject = MyBase64.getFromBASE64(buf.substring(8));
System.out.println(subject);
}
Ну, мой метод прав. И я просто сделал глупую ошибку ~ извините: D