[NumPy-Tickets] [NumPy] #2024: NULL bytes removed from end of string in NumPy array
NumPy Trac
numpy-tickets@scipy....
Wed Jan 18 19:46:14 CST 2012
#2024: NULL bytes removed from end of string in NumPy array
------------------------------------+---------------------------------------
Reporter: edcjones | Owner: somebody
Type: defect | Status: new
Priority: normal | Milestone: Unscheduled
Component: numpy.core | Version: 1.4.1
Keywords: NULL terminated string |
------------------------------------+---------------------------------------
I use Debian stable on a PC. The distribution uses Python 2.6.6 and
NumPy 1.4.1.
In Python and I assume in NumPy, strings are not NULL-terminated.
The following program strips the zero bytess from the end of a string:
#! /usr/bin/env python
import numpy
DT = numpy.dtype([('hashcode', numpy.str_, 16)])
badstring = 4 * chr(0) + 'ABCDEFGH' + 4 * chr(0)
print repr(badstring)
arr = numpy.array((badstring,), dtype=DT)
print repr(arr)
s = str(arr['hashcode'])
print len(s), repr(s)
The output is:
'\x00\x00\x00\x00ABCDEFGH\x00\x00\x00\x00'
array(('\x00\x00\x00\x00ABCDEFGH',),
dtype=[('hashcode', '|S16')])
12 '\x00\x00\x00\x00ABCDEFGH'
It appears that the string is being treated like a C-string somewhere in
NumPy.
--
Ticket URL: <http://projects.scipy.org/numpy/ticket/2024>
NumPy <http://projects.scipy.org/numpy>
My example project
More information about the NumPy-Tickets
mailing list