UTILS.
100% у браузері
✉️

Кодування та декодування Quoted-Printable

Кодуйте текст у MIME Quoted-Printable (екранування =XX, м'які переноси рядків) або декодуйте з нього, з режимом тіла та варіантом заголовка 'Q' за RFC 2047.

Введіть текст вище, щоб закодувати або декодувати.

Про цей інструмент

Інструмент кодування та декодування Quoted-Printable перетворює текст у MIME Quoted-Printable і назад — кодування content-transfer, що використовується в email для тексту, який здебільшого є ASCII з випадковими не-ASCII байтами. Кодування (за RFC 2045 §6.7) пропускає друкований ASCII (33–126) без змін, крім самого '=', який стає =3D. Будь-який байт поза цим діапазоном — літери з наголосами, символи та багатобайтові послідовності UTF-8 — записується як =HH великими hex-літерами. Літеральні пробіли й табуляції зберігаються, крім кінця рядка, де вони кодуються як =20 або =09, щоб вони пережили передачу.

Усе працює локально у вашому браузері й ніщо не завантажується. У режимі тіла кодувальник дотримується обмеження в 76 символів на рядок, вставляючи м'який перенос рядка — '=' безпосередньо перед CRLF — і ніколи не розбиває триплет =HH через перенос. Декодування обертає все це: воно видаляє м'які переноси ('=' з наступним новим рядком), перетворює кожен =HH назад у його байт і залишає кожен інший символ як є, нарешті інтерпретуючи відновлені байти як UTF-8, тож текст з наголосами й не-латинський текст перетворюється туди-назад правильно.

Селектор режиму перемикає між стандартним кодуванням тіла та варіантом заголовка 'Q' за RFC 2047, що використовується всередині закодованих слів =?charset?Q?...?=. У варіанті заголовка пробіл представлений підкресленням '_' (а літеральне '_' кодується як =5F), яке декодувальник зіставляє назад у пробіл. Виберіть напрямок і режим, вставте ваш текст і скопіюйте результат.

Поширені запитання

Для чого використовується Quoted-Printable?
Це кодування content-transfer для email для тексту, що здебільшого є ASCII, але має деякі не-ASCII байти. Воно зберігає читабельні символи розбірливими, безпечно екрануючи байти, які могли б змінитися при передачі, на відміну від Base64, який приховує все повідомлення.
Що таке м'який перенос рядка?
Щоб дотриматися обмеження в 76 символів на рядок, кодувальник завершує перенесений рядок завершальним '=' прямо перед CRLF. Це '=' є м'яким переносом: воно означає 'цей рядок продовжується', тож декодувальник з'єднує рядки назад і воно не є частиною даних.
Чим режим заголовка 'Q' відрізняється від режиму тіла?
Варіант 'Q' за RFC 2047 (використовуваний усередині закодованих слів =?UTF-8?Q?...?= у заголовках) представляє пробіл як підкреслення '_' замість =20 і кодує літеральне підкреслення як =5F. Режим тіла зберігає пробіли літеральними й застосовує м'яке перенесення по 76 стовпців.
Чи обробляє він Unicode / UTF-8 правильно?
Так. Під час кодування кожен символ перетворюється на свої байти UTF-8, і будь-який байт поза 33–126 стає =HH. Під час декодування всі декодовані байти збираються й читаються як UTF-8, тож багатобайтові символи на кшталт é, £ та — перетворюються туди-назад точно.

Більше інструментів