我该怎么做:
>>> s = u'hello'
>>> isinstance(s,str)
False
但是我想
isinstance
为此Unicode编码的字符串返回True
。有Unicode字符串对象类型吗? 最佳答案
对于Python2,您可以使用basestring
进行以下两项测试:
isinstance(unicode_or_bytestring, basestring)
basestring
仅在Python 2中可用,并且是str
和unicode
的抽象基本类型。如果您只想测试
unicode
,则应明确地进行测试:isinstance(unicode_tring, unicode)
对于Python 3,仅测试
str
:isinstance(unicode_or_bytestring, str)
或者,如果必须处理字节串,请分别测试
bytes
:isinstance(unicode_or_bytestring, bytes)
两种类型是故意不可互换的。使用显式编码(
str
至bytes
)和解码(bytes
至str
)在类型之间进行转换。关于python - 使用isinstance测试Unicode字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57688766/