Difference between parsing a text file in r and rb mode
file-io, python, text-parsing
Solution
This depends a little bit on what version of Python you're using. In Python 2, Chris Drappier's answer applies.
In Python 3, its a different (and more consistent) story: in text mode (`'r'`), Python will parse the file according to the text encoding you give it (or, if you don't give one, a platform-dependent default), and `read()` will give you a `str`. In binary (`'rb'`) mode, Python does not assume that the file contains things that can reasonably be parsed as characters, and `read()` gives you a `bytes` object.
Also, in Python 3, the universal newlines (the translating between `'\n'` and platform-specific newline conventions so you don't have to care about them) is available for text-mode files on any platform, not just Windows.
Problem
What makes parsing a text file in 'r' mode more convenient than parsing it in 'rb' mode? Especially when the text file in question may contain non-ASCII characters.