> email | czytelny | mime <

// Kodowanie Quoted-Printable dla wiadomości e-mail z polskimi znakami i tekstem międzynarodowym przy zachowaniu czytelności

[CZYTELNOŚĆ]

Czytelny tekst

Treść w ASCII pozostaje czytelna w źródle wiadomości, a kodowaniu podlegają jedynie znaki spoza tego zakresu.

[EMAIL]

Standard MIME

Standardowe kodowanie transferu treści MIME dla wiadomości zawierających znaki narodowe i międzynarodowe.

[UNICODE]

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

InputOutputNote
==3D= is the escape char
é (UTF-8 C3 A9)=C3=A9each byte of a multi-byte char
space/tab at end of line=20 / =09trailing whitespace
= at end of line(soft line break)joins lines, max 76 chars/line
A–Z a–z 0–9 ! * + - / etc.as isprintable 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.

Inne języki