On Tue, Jan 16, 2018 at 3:58 PM, MRAB <pyt...@mrabarnett.plus.com> wrote:
> On 2018-01-16 19:52, Larry Martell wrote:
>>
>> On Tue, Jan 16, 2018 at 2:35 PM, Gene Heskett <ghesk...@shentel.net>
>> wrote:
>>>
>>> On Tuesday 16 January 2018 14:19:38 Larry Martell wrote:
>>>
>>>> On Tue, Jan 16, 2018 at 12:00 PM, Larry Martell
>>>
>>> <larry.mart...@gmail.com> wrote:
>>>>
>>>> > Looking for 2.7 docs on read.encode - googling did not turn up
>>>> > anything.
>>>> >
>>>> > Specifically, looking for the supported options for base64, and how
>>>> > to specify them, e.g. Base64.NO_WRAP
>>>>
>>>> So I just realized that encode() is not a method of read() it's a
>>>> string method. But I still have the same question - can I pass in any
>>>> flags?
>>>>
>>>> My issue is that I am base64 encoding PNG images on linux and it's
>>>> putting a LF at the end of each line. If I do the same on Windows it's
>>>> putting CR/LF. I want the files to be encoded with no platform
>>>> dependences. Googling I found mention of Base64.NO_WRAP and I want to
>>>> pass that into encode() - can I do that?
>>>
>>>
>>> Di you not have the manpages installed?
>>>
>>> In my copy of the manpage:
>>> base64 [OPTION]... [FILE]
>>> where option is:
>>>  -w, --wrap=COLS
>>>               wrap encoded lines after COLS character (default 76).  Use
>>> 0 to disable line wrapping.
>>>
>>> Seems pretty simple.
>>
>>
>> But how do I use that in read().encode('base64')?
>>
> Use the base64 module instead, which is also how you would do it in Python
> 3.
>
> If you're getting CR/LF on Windows, that's because you're opening the file
> in text mode. In both Python 2 and Python 3 the base64 string will be a
> bytestring, which you'd write out to a file opened in binary mode.
>
> That's an extra bit of future-proofing! :-)

Thanks. That's what it ended up being. 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.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to