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

Michael Droettboom mdroe at stsci.edu
Fri Sep 25 11:52:14 EDT 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.

Mike

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