test etmek için:kullanın isinstance ben böyle bir şey yapmak nasıl Unicode dizesi
>>> s = u'hello'
>>> isinstance(s,str)
False
Ama bu Unicode olarak kodlanmış dize için True
dönmek isinstance
istiyorum. Unicode dize nesne türü var mı?
test etmek için:kullanın isinstance ben böyle bir şey yapmak nasıl Unicode dizesi
>>> s = u'hello'
>>> isinstance(s,str)
False
Ama bu Unicode olarak kodlanmış dize için True
dönmek isinstance
istiyorum. Unicode dize nesne türü var mı?
Python2: Sen hem test etmek için basestring
kullanabilirsiniz:
isinstance(unicode_or_bytestring, basestring)
basestring
Python 2'de kullanılabilir ve str
ve unicode
hem soyut taban türüdür.
isinstance(unicode_tring, unicode)
Unicode dize nesne türü var mı?
Evet, unicode
denir:
>>> s = u'hello'
>>> isinstance(s, unicode)
True
>>>
Not Python 3.x, bu tip all strings are now Unicode çünkü kaldırıldığını.
Unicode dize nesne türü var mı:
sonra bu kadar açıkça yapmak, sadece
unicode
test etmek isteseydim?
Evet bu çalışır: Eğer unicode olduğunu biliyorsanız
>>> s = u'hello'
>>> isinstance(s, unicode)
True
>>>
Ancak bu sadece yararlıdır. Başka bir çözüm python2.x ve python3.x dönüşümleri sizi kurtarır ve yakalar six
paketini kullanmaktır unicode
ve str
>>> unicode_s = u'hello'
>>> s = 'hello'
>>> isinstance(unicode_s, str)
False
>>> isinstance(unicode_s, unicode)
True
>>> isinstance(s, str)
True
>>> isinstance(unicode_s, str)
False
>>> isinstance(s, six.string_types)
True
>>> isinstance(unicode_s, six.string_types)
True
'tip (ler)' ... söyledik kolayca tip olurdu ama neden yazıyorsun? Gerçekten sadece 'unicode' nesnelerini mi arıyorsunuz yoksa string benzeri bir arayüzle mi? – geoffspear