Это кодированное слово MIME . Синтаксис: =?
кодировка ?
кодировка передачи ?
кодированные данные ?=
. Кодировка передачи: B
ase64 или Q
uoted-printable.
Чтобы декодировать это:
- Разделить закодированное слово на 3 части.
- Декодировать данные (3-я часть) в
byte[]
согласно их кодированию передачи (2-я часть). В этом случае используется кодировка Q, поэтому замените последовательности =
xx соответствующими октетами. Это дает вам два байтовых массива [84, 104, 225, 186, 167, 121, 95, 103, 225, 187, 173, 105, 95, 98, 195, 160, 105, 95, 116, 225, 186, 173, 112, 95, 99, 104, 111, 95, 101, 109, 95, 118, 225, 187] и [155, 105, 46].
- Декодировать эти байтовые массивы в соответствии с указанной кодировкой.
В этом конкретном примере оба закодированных слова являются недействительными : в первом отсутствует трейловый байт 3-байтового символа UTF-8, а во втором начинается байт трейла , Но вместе , они действительны в формате UTF-8 и декодируются в строку Thầy_gửi_bài_tập_cho_em_với.
(что переводится Google как "Учитель отправил меня на упражнение")