> email | czytelny | mime <
// Kodowanie Quoted-Printable dla wiadomości e-mail z polskimi znakami i tekstem międzynarodowym przy zachowaniu czytelności
Czytelny tekst
Treść w ASCII pozostaje czytelna w źródle wiadomości, a kodowaniu podlegają jedynie znaki spoza tego zakresu.
Standard MIME
Standardowe kodowanie transferu treści MIME dla wiadomości zawierających znaki narodowe i międzynarodowe.
Obsługa Unicode
Obsługuje pełen zestaw znaków Unicode, w tym polskie litery, przy zachowaniu kompatybilności z istniejącą infrastrukturą pocztową.
>> informacje techniczne
Jak działa Quoted-Printable:
Quoted-Printable koduje dane 8-bitowe przy użyciu drukowalnych znaków ASCII. Bajty spoza ASCII są zapisywane jako '=' oraz dwie cyfry szesnastkowe. Długość linii jest zwykle ograniczona do 76 znaków z użyciem miękkich podziałów linii.
Przykład:
"Café" → Caf=C3=A9
Dlaczego warto używać Quoted-Printable:
- >Utrzymanie czytelności treści tekstowej w kodzie źródłowym wiadomości
- >Zgodność ze standardem MIME dla poczty elektronicznej
- >Lepsze dopasowanie do maili z pojedynczymi znakami diakrytycznymi
- >Mniejszy narzut kodowania niż Base64 dla czystego tekstu
- >Pomoc w spełnieniu wymagań dotyczących maksymalnej długości linii na serwerach SMTP
>> najczęstsze pytania
Czym jest kodowanie Quoted-Printable?
Quoted-Printable to schemat MIME Content-Transfer-Encoding, który umożliwia przesyłanie danych 8-bitowych przez systemy pocztowe obsługujące 7 bitów, przy zachowaniu czytelności tekstu ASCII.
Kiedy używać Quoted-Printable?
Najlepiej sprawdza się w wiadomościach, które składają się głównie z tekstu ASCII z pojedynczymi znakami spoza ASCII, gdy ważna jest możliwość odczytania treści bez dekodowania.
Czym różni się od Base64?
Base64 całkowicie zaciera czytelność treści, natomiast Quoted-Printable pozostawia tekst ASCII w formie czytelnej i koduje tylko znaki specjalne, co jest korzystne przy analizie logów i treści tekstowych.
Jaką rolę pełni znak '=' w Quoted-Printable?
Znak '=' jest znakiem ucieczki; po nim następują dwie cyfry szesnastkowe reprezentujące bajt albo występuje na końcu linii, aby oznaczyć miękki podział linii.
// Krótka ściąga
| Input | Output | Note |
|---|---|---|
| = | =3D | = is the escape char |
| é (UTF-8 C3 A9) | =C3=A9 | each byte of a multi-byte char |
| space/tab at end of line | =20 / =09 | trailing whitespace |
| = at end of line | (soft line break) | joins lines, max 76 chars/line |
| A–Z a–z 0–9 ! * + - / etc. | as is | printable ASCII 33–126 (except =) |
// Przykłady kodu
Input Café = 3 € (UTF-8)
Output Caf=C3=A9 =3D 3 =E2=82=AC
Rules RFC 2045 section 6.7
* bytes 33..126 except '=' may stay literal
* everything else -> '=' + two uppercase hex digits
* encoded lines must not exceed 76 characters
* a line ending in '=' is a soft break (no newline in the decoded data)
MIME Content-Transfer-Encoding: quoted-printable
>> Więcej pytań
P: Do czego służy Quoted-Printable?
O: Do treści e-maili (MIME) głównie w ASCII z pojedynczymi znakami specjalnymi. Tekst pozostaje czytelny, a tylko pozostałe bajty są kodowane jako =XX. Nagłówek: Content-Transfer-Encoding: quoted-printable.
P: Czym jest miękki podział wiersza?
O: Znak „=” na końcu wiersza. Pozwala łamać długie wiersze do 76 znaków bez wstawiania podziału po zdekodowaniu: wiersze są po prostu łączone.
P: Quoted-Printable czy Base64?
O: QP pasuje do tekstu głównie łacińskiego: mały narzut i czytelność. Dla danych binarnych lub pism nie-ASCII lepszy jest Base64 ze stałym narzutem ok. 33%, a QP w najgorszym razie potrzebuje trzech znaków na bajt.