Pour approfondir la réponse d'Anthony (qui est correcte), rappelez-vous que lorsque le courrier électronique a été créé, il était destiné à envoyer du texte (caractères ASCII). Lorsque l'idée d'envoyer des fichiers binaires est devenue une réalité, l'infrastructure du courrier électronique était déjà en place et fonctionnait et il aurait été trop difficile de la modifier pour prendre en charge l'envoi de données binaires (de plus, cela aurait ajouté de la complexité).
Pour résoudre le problème, la solution était d'encoder les fichiers en MIME (comme l'a correctement indiqué @mark dans les commentaires).
Comme vous pouvez le deviner, cela augmente la taille du fichier, mais permet de représenter le fichier binaire en format ASCII . Comme l'ASCII ne compte que 128 caractères (et que certains sont des caractères de contrôle !), puisqu'il était à 7 bits, la version à 8 bits, appelée ASCII étendu ajouté 128 caractères supplémentaires au mélange (permettant les accents et quelques autres astuces), mais c'est juste une autre histoire bien mieux expliquée dans Wikipedia et d'innombrables sites à ce sujet :)
Pour créer une analogie simple, imaginez que vous deviez représenter l'ensemble de l'alphabet en utilisant uniquement des voyelles. Vous commencerez à créer des combinaisons des 5 lettres dont vous disposez pour représenter les lettres manquantes, par exemple la lettre "B" devra être représentée par "AA" (juste un exemple), puis C sera "AAA", puis D pourrait être "AE", etc.
Comme vous pouvez le voir, je n'utilise que des voyelles, mais j'ai besoin de plus d'une pour représenter les consonnes. C'est plus ou moins ce que fait MIME en termes simples. Il utilise des caractères ASCII standard pour représenter beaucoup plus de choses, d'où l'augmentation de la taille.
J'espère que cela vous aidera à comprendre le processus qui se déroule lorsque Mail (ou entourage) dit : "attaching ". Il s'agit de l'encodage du fichier :)