documentation on read.encode

Larry Martell larry.martell at gmail.com
Thu Jan 18 06:13:25 EST 2018


On Thu, Jan 18, 2018 at 12:47 AM, Steven D'Aprano
<steve+comp.lang.python at pearwood.info> wrote:
> On Wed, 17 Jan 2018 16:54:37 -0500, Larry Martell wrote:
>
>> The code that was receiving the
>> PNG was not reading and writing the file as binary. Strangely that
>> worked on Linux but not on Windows.
>
> Nothing strange about it -- on Unix and Linux systems (with the possible
> exception of Mac OS?) in Python 2 there's no difference between text and
> binary mode for ASCII-only files. In Python 2, strings are byte strings,
> not Unicode, and reading from files returns such sequences of bytes.
>
> On Windows, reading from files in text mode treats \r\n as the end of
> line, and converts[1] such \r\n pairs to \n; it also treats ^Z byte as
> the end of file[2], or at least it used to back in the 2.5 or so days. I
> haven't tested it in more recent versions.
>
>
> [1] Technically this is a build-time option, but as far as I know it is
> not just the default but pretty much universal.
>
> [2] https://blogs.msdn.microsoft.com/oldnewthing/20040316-00/?p=40233/

Thanks for the clarification. I have been programming since 1975 and
thankfully have had very little exposure to Windows.



More information about the Python-list mailing list