[Numpy-discussion] Getting number of *characters* in dtype='U' array

Michael Droettboom mdroe@stsci....
Fri Sep 25 10:52:14 CDT 2009

Ah, I missed the fact that Numpy unicode characters are always 4-bytes, 
unlike Python unicode objects.  Divide by 4 is easy enough.  Sorry for 
the noise.


Michael Droettboom wrote:
> Is there a way to get the number of characters in a fixed-size 'U' 
> array?  I can, of course, parse dtype.str, or divide dtype.itemsize by 
> the size of a unicode character, but neither seems terribly elegant or 
> future proof.  Does numpy provide (to Python) a method for getting this 
> that I'm just missing?
> In [7]: x = np.array(u'1234')
> In [8]: x.dtype
> Out[8]: dtype('<U4')
> In [9]: x.dtype.str
> Out[9]: '<U4'
> In [10]: x.dtype.itemsize
> Out[10]: 16
> Cheers,
> Mike

Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA

More information about the NumPy-Discussion mailing list