Как можно раскодировать =?utf-8?Q?14=2E04=2E2023=20?= средствами java?

Для раскодирования строки "=?utf-8?Q?14=2E04=2E2023=20?=" в формате "=?charset?encoding?encoded-text?=" в Java можно воспользоваться методами класса MimeUtility из библиотеки JavaMail.

Вначале, необходимо подключить зависимость к JavaMail в вашем проекте или модуле с помощью инструмента сборки, такого как Maven или Gradle. Вот пример зависимости для Maven:

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>javax.mail-api</artifactId>
    <version>1.6.2</version>
</dependency>

Затем вы можете использовать следующий код для раскодирования строки:

import javax.mail.internet.MimeUtility;
import java.io.UnsupportedEncodingException;

public class Main {
    public static void main(String[] args) {
        String encodedText = "=?utf-8?Q?14=2E04=2E2023=20?=";

        try {
            String decodedText = MimeUtility.decodeText(encodedText);
            System.out.println(decodedText);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }
}

Вышеуказанный код декодирует строку "=?utf-8?Q?14=2E04=2E2023=20?=" в формате UTF-8 и выводит результат в консоль: "14.04.2023 ".

MimeUtility.decodeText() выполняет обратную операцию к default MIME encoding для заданной строки. В нашем случае, это UTF-8 кодировка. Результатом является декодированная строка.

Обратите внимание, что метод MimeUtility.decodeText() может бросить UnsupportedEncodingException, поэтому требуется использовать конструкцию try-catch для обработки исключения.

Теперь вы знаете, как раскодировать строку "=?utf-8?Q?14=2E04=2E2023=20?=" средствами Java с помощью JavaMail. Этот метод можно применять не только для декодирования строк в формате "=?charset?encoding?encoded-text?=", но и для работы с другими кодировками и форматами MIME.