Aby dodatkowo rozszerzyć odpowiedź Anthony'ego (która jest poprawna), pamiętaj, że kiedy e-mail został utworzony, miał on wysyłać tekst (znaki ASCII). Kiedy pomysł wysyłania plików binarnych stał się rzeczywistością, infrastruktura poczty e-mail była już gotowa i działała i zbyt trudno byłoby ją zmienić, aby obsługiwała wysyłanie danych binarnych (co dodatkowo zwiększyłoby złożoność).
Aby rozwiązać problem, rozwiązaniem było zakodowanie plików w MIME (zgodnie z poprawnym znakiem @mark w komentarzach).
Jak można się domyślić, zwiększa to rozmiar, ale umożliwia reprezentację pliku binarnego w ASCII . Ponieważ ASCII ma tylko 128 znaków (a niektóre to znaki kontrolne!), Ponieważ był 7-bitowy, wersja 8-bitowa, zwana Extended ASCII, dodała kolejne 128 znaków do miksu (dopuszczając akcenty i inne sztuczki), ale to tylko inna historia lepiej wyjaśnione w Wikipedii i niezliczonych witrynach na ten temat :)
Aby stworzyć prostą analogię, wyobraź sobie, że musisz reprezentować cały alfabet, używając tylko samogłosek. Zacząłbyś tworzyć kombinacje 5 liter, które musisz reprezentować brakujące, więc na przykład litera „B” musiałaby być reprezentowana jako „AA” (tylko przykład), wtedy C byłoby „AAA”, a następnie D może oznaczać „AE” itp.
Jak widać, używam tylko samogłosek, ale potrzebuję więcej niż 1 do reprezentowania spółgłosek. Mniej więcej tak jest w skrócie, co robi MIME. Używa standardowych znaków ASCII, aby reprezentować o wiele więcej, a tym samym wzrost rozmiaru.
Mam nadzieję, że pomoże to zrozumieć proces, który zachodzi, gdy Mail (lub świta) mówi: „dołączanie ...”. To koduje plik :)