On 25/11/12 11:19:18, kobayashi wrote: > Hello, > > Under platform that has fixed pitch font, > I want to get a "screen" length of a multibyte string > > --- sample --- > s1 = u"abcdef" > s2 = u"あいう" # It has same "screen" length as s1's. > print len(s1) # Got 6 > print len(s2) # Got 3, but I want get 6. > -------------- > > Abobe can get a "character" length of a multibyte string. > Is there a way to get a "screen" length of a multibyte string?
How about: from unicodedata import east_asian_width def screen_length(s): return sum(2 if east_asian_width(c) == 'W' else 1 for c in s) Hope this helps, -- HansM -- http://mail.python.org/mailman/listinfo/python-list