[issue12834] memoryview.tobytes() incorrect for non-contiguous arrays
Stefan Krah
report at bugs.python.org
Wed Aug 24 21:09:59 CEST 2011
Stefan Krah <stefan-usenet at bytereef.org> added the comment:
Antoine Pitrou <report at bugs.python.org> wrote:
> That's rather funky. What should the right result be?
Basically [5, 4, 3, 2, 1] as bytes:
'\x05\x04\x03\x02\x01'
Looks like an off-by-one error.
I was a bit surprised that tobytes() automatically converts anything
to a C-contiguous array. The result can be completely disconnected
from the raw memory.
[The bug also exists for forward strides.]
array([1, 3, 5], dtype=uint64)
>>> m = memoryview(y)
>>> m.tobytes()
'\x03\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00'
>>>
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue12834>
_______________________________________
More information about the Python-bugs-list
mailing list