What does it mean "media that are designed to deal with textual data"?
That those protocols were designed to handle text (often, only English text) instead of binary data (like .png and .jpg images).
They can deal with binary => they can deal with anything.
But the converse is not true. A protocol designed to represent text may improperly treat binary data that happens to contain:
So you can't just send binary data over a text-based protocol. You're limited to the bytes that represent the non-space non-control ASCII characters, of which there are 94. The reason Base 64 was chosen was that it's faster to work with powers of two, and 64 is the largest one that works.
One question though. How is that systems still don't agree on a common encoding technique like the so common UTF-8?
On the Web, at least, they mostly have. A majority of sites use UTF-8.
The problem in the West is that there is a lot of old software that ass-u-me-s that 1 byte = 1 character and can't work with UTF-8.
The problem in the East is their attachment to encodings like GB2312 and Shift_JIS.
And the fact that Microsoft seems to have still not gotten over having picked the wrong UTF encoding. If you want to use the Windows API or the Microsoft C runtime library, you're limited to UTF-16 or the locale's "ANSI" encoding. This makes it painful to use UTF-8 because you have to convert all the time.