Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Dlaczego załącznik e-mail'a zajmuje więcej niż na dysku?

Pewno wielu z Was zastanawiało się nie raz, dlaczego ten sam plik, wysłany pocztą elektroniczną zajmuje więcej niż na dysku. Przyczyny tego zjawiska należy dopatrywać się w czysto tekstowej formie protokołu poczty POP3 oraz SMTP. Jako że tekst drukowany, zawiera się w niepełnych 8-bitach (tzn. jest mniej niż 256 różnych liter alfabetu i innych znaków), stąd też nie można wysłać danych 8-bitowych przy jego pomocy.

Co się robi w takiej sytuacji? Pewni sprytni ludzie, wymyślili swego czasu kodowanie o nazwie Base64. Cóż takiego ono robi? Przekształca bloki 3 bajtowe, na 4 bajtowe o reprezentacji w zakresie znaków drukowanych. Innymi słowy, zapisuje 3 liczby 8-bitowe w postaci czterech 6-bitowych, jednakże tak, aby użyć do tego celu jedynie liter alfabetu oraz cyfr.

Z uwagi na w/w sposób działania, zwiększa się ilość danych potrzebnych do reprezentacji tego samego zbioru w kodowaniu Base64. Skoro z każdych 3 bajtów uzyskujemy 4, to plik w poczcie elektronicznej zajmuje o 33,3% więcej w stosunku do swojej oryginalnej kopii na dysku twardym. Przykładowo, plik 2MB w postaci załącznika do wiadomości e-mail będzie zajmował 2,66MB. 

internet

Komentarze

0 nowych
borzole   4 #1 13.03.2010 18:09

To może ja zobrazuje.

do przodu:
$ echo "Dlaczego załącznik e-mail'a zajmuje więcej niż na dysku?" | base64
RGxhY3plZ28gemHFgsSFY3puaWsgZS1tYWlsJ2EgemFqbXVqZSB3acSZY2VqIG5pxbwgbmEgZHlz
a3U/Cg==

i wtecz
$ echo "Dlaczego załącznik e-mail'a zajmuje więcej niż na dysku?" | base64 | base64 -d
Dlaczego załącznik e-mail'a zajmuje więcej niż na dysku?

command-dos   17 #2 30.07.2010 11:37

Nigdy się nad tym nie zastanawiałem - dzięki za ciekawostkę, a @borzole dziękuję za zobrazowanie. Trochę sobie poćwiczyłem ;) ale wstecz chyba miało wyglądać:
$ echo RGxhY3plZ28gemHFgsSFY3puaWsgZS1tYWlsJ2EgemFqbXVqZSB3acSZY2VqIG5pxbwgbmEgZHlza3U/Cg== | base64 -d
Dlaczego załącznik e-mail'a zajmuje więcej niż na dysku?