<div dir="ltr">On Thu, Jan 9, 2014 at 3:14 PM, Ethan Furman <span dir="ltr"><<a href="mailto:ethan@stoneleaf.us" target="_blank">ethan@stoneleaf.us</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Sorry, I was too short with my example.  My use case is binary files, with ASCII metadata and binary metadata, as well as ASCII-encoded numeric values, binary-coded numeric values, ASCII-encoded boolean values, and who-knows-what-(before checking the in-band metadata)-encoded text.  I have to process all of it, and before we say "It's just a documentation issue" I want to make sure it /is/ just a documentation issue.<br>

</blockquote><div><br></div><div style>As I am coming to understand it -- yes, using latin-1 would let you work with all that. You could decode the binary data using latin-1, which would give you a unicode object, which would:</div>

<div style><br></div><div style>1) act like ascii for ascii values, for the normal string operations, search, replace, etc, etc...</div><div style><br></div><div style>2) have a 1:1 mapping of indexes to bytes in the original.</div>

<div style><br></div><div style>3) be not-too-bad for memory and other performance (as I understand it py3 now has a cool unicode implementation that does not waste a  lot of bytes for low codepoints)</div><div style><br>

</div><div style>4) would preserve the binary data that was not directly touched.</div><div style><br></div><div style>Though you'd still have to encode() to bytes to get chunks that could be used as binary -- i.e. passed to the struct module, or to a frombytes() or frombuffer() method of say numpy, or PIL or something...</div>

<div style><br></div><div style>But I'm no expert....</div><div style><br></div><div style>-Chris</div><div style><br></div><div style><br></div><div style><br></div><div style><br></div><div style><br></div><div style>

<br></div><div style><br></div><div style><br></div><div style><br></div><div style><br></div><div><br></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<br>
--<br>
~Ethan~<div class="HOEnZb"><div class="h5"><br>
______________________________<u></u>_________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org" target="_blank">Python-Dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-dev" target="_blank">https://mail.python.org/<u></u>mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="https://mail.python.org/mailman/options/python-dev/chris.barker%40noaa.gov" target="_blank">https://mail.python.org/<u></u>mailman/options/python-dev/<u></u>chris.barker%40noaa.gov</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><br>Christopher Barker, Ph.D.<br>Oceanographer<br><br>Emergency Response Division<br>NOAA/NOS/OR&R            (206) 526-6959   voice<br>7600 Sand Point Way NE   (206) 526-6329   fax<br>

Seattle, WA  98115       (206) 526-6317   main reception<br><br><a href="mailto:Chris.Barker@noaa.gov" target="_blank">Chris.Barker@noaa.gov</a>
</div></div>