Computer science time! 🙂
I'm a fan of examples... You have an ASCII file. They're handy as text files. ASCII maps a decimal value to a text or "ASCII" character.
Example:
To represent the number 2, we use the decimal value of 50. Decimal value 50 is mapped to "2". The mapping is what makes it ASCII.
If the decimal value of "2" is 50, then the binary value of this will be: 110010 (if my math is correct)
The binary value of the number two is really just: 000010
Notice here "110010" (ASCII) != "000010" (binary)
Think of binary as raw data. It boils down to how you want to interpret the raw data. ASCII is just one way to interpret the binary data, but its specialty is with text. ASCII has a limited character this and some of these characters are interpretted as control characters depending on which device reads them (like line feed, carriage return, and even one to make your computer beep).
So for images, you want to read them as binary data since they contain raw data. Trying to read them as ASCII is going to cause the binary data to be mapped to ASCII which isn't going to produce the most useful results (it can be done, but it wasn't the way the image file was intended to be read so the data will not make sense).