What’s the difference between a string and a byte string?
When is it appropriate to use a byte string instead of a string?
More specifically, if I download an image or another binary file from the web, why do I need to convert it to a byte string before I can save it?
In 2.x, there is no difference;
stris a sequence of bytes.In 3.x, A byte string is identified by a byte literal,
b'...'; it can be gotten from a string by encoding it to a specific charset, and it is the default type for most I/O operations.