Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

kodowanie quoted-printable

Termin Definicja
kodowanie quoted-printable

Kodowanie quoted-printable to metoda zapisu tekstu ze znakami specjalnymi, zachowująca czytelność większości treści.

Na czym polega kodowanie quoted-printable

Kodowanie quoted-printable to sposób przedstawiania danych tekstowych w wiadomościach MIME, opisany w standardzie RFC 2045. Zostało zaprojektowane przede wszystkim dla treści, które w dużej części składają się ze zwykłych znaków ASCII, ale zawierają również znaki spoza tego zakresu, na przykład polskie litery zapisane w kodowaniu UTF-8. Metoda zachowuje czytelność fragmentów tekstu, ponieważ znaki bezpieczne dla transportu pozostają zapisane bez zmian.

Znaki, których nie należy przesyłać bezpośrednio w określonym kontekście, są reprezentowane jako znak równości oraz dwie cyfry szesnastkowe. Zapis =C4=85 oznacza w UTF-8 bajty C4 i 85, które tworzą znak „ą”. Podobnie litera „ł” jest przedstawiana jako =C5=82. Quoted-printable nie jest szyfrowaniem ani kompresją. Jest kodowaniem transportowym, czyli sposobem zamiany bajtów na postać zgodną z ograniczeniami używanego kanału komunikacyjnego.

Reguły zapisu znaków i końców wierszy

W quoted-printable znak równości pełni funkcję znaku specjalnego. Jeżeli ma wystąpić dosłownie w danych, musi zostać zapisany jako =3D, ponieważ wartość szesnastkowa bajtu ASCII odpowiadającego znakowi „=” wynosi 3D. Znaki o wartościach bajtowych od 33 do 60 oraz od 62 do 126 mogą zazwyczaj pozostać w postaci bezpośredniej, z uwzględnieniem reguł dotyczących końca wiersza i znaków o szczególnym znaczeniu. Spacja oraz tabulator na końcu linii powinny być zakodowane, odpowiednio, jako =20 i =09.

Ważnym elementem formatu jest miękkie łamanie wiersza. Sekwencja = na końcu linii oznacza, że fizyczny koniec tego wiersza nie jest końcem tekstu i należy połączyć go z następnym wierszem. Dzięki temu można ograniczyć długość linii bez wstawiania dodatkowego znaku nowej linii do odkodowanej treści. RFC 2045 określa maksymalną długość zakodowanej linii na 76 znaków, nie licząc ewentualnej sekwencji końca wiersza. Zwykłe zakończenie wiersza jest zapisywane zgodnie z regułami MIME, czyli jako CRLF.

Quoted-printable w wiadomościach MIME

Wiadomość poczty elektronicznej może wskazywać zastosowane kodowanie w nagłówku części MIME Content-Transfer-Encoding: quoted-printable. Ten nagłówek opisuje sposób transportowego przedstawienia danych, natomiast informacja o kodowaniu znaków znajduje się osobno, zwykle w parametrze nagłówka Content-Type, na przykład text/plain; charset=UTF-8 albo text/html; charset=UTF-8. Odbiorca musi najpierw odtworzyć oryginalne bajty przez dekodowanie quoted-printable, a następnie zinterpretować je według wskazanego zestawu znaków.

Format sprawdza się w tekstach, w których większość znaków jest zwykłym ASCII, a tylko część wymaga specjalnego zapisu. W takim przypadku narzut jest mniejszy niż przy kodowaniu base64, ponieważ litery, cyfry, spacje znajdujące się we właściwym miejscu oraz wiele znaków interpunkcyjnych pozostaje czytelnych. Quoted-printable nie jest jednak dobrym wyborem dla danych binarnych ani dla tekstu, w którym niemal każdy bajt wymaga ucieczki. Błędna obsługa sekwencji miękkiego łamania, niepoprawnych cyfr szesnastkowych lub końcowych białych znaków może powodować widoczne artefakty, takie jak fragmenty =C4=85 wyświetlone zamiast polskich liter.

Rozpoznawanie problemów z odkodowaniem

Jeżeli wiadomość wyświetla surowe sekwencje zaczynające się od znaku równości, należy sprawdzić, czy klient pocztowy prawidłowo odczytał nagłówki MIME oraz czy treść nie została zmieniona przez pośredni system. Analiza powinna objąć deklarację Content-Transfer-Encoding, parametr charset, obecność prawidłowych końców wierszy i zgodność danych z deklarowanym kodowaniem. Samo wystąpienie zapisu typu =C5=82 nie oznacza uszkodzenia pliku ani dysku; zwykle wskazuje na to, że warstwa prezentacji nie wykonała dekodowania.

W praktyce warto porównać tę samą wiadomość w kilku klientach, sprawdzić źródło oryginalnej wiadomości i ustalić, czy problem dotyczy jednej części MIME, czy całej wiadomości. Inaczej interpretuje się część text/plain, inaczej text/html, a załącznik powinien mieć własne nagłówki i własne kodowanie transportowe. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, dlatego przy problemach z wyświetlaniem poczty można przeanalizować również konfigurację systemu oraz aplikacji używanej na konkretnym komputerze.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę