两个显然相等的Python Unicode UTF8编码字符串don';不匹配
这怎么可能 为了以防万一,我正在使用iPython笔记本。您有一个unicode字符串和一个字节字符串。它们不是一回事 一个是Unicode值,两个显然相等的Python Unicode UTF8编码字符串don';不匹配,python,unicode,utf-8,Python,Unicode,Utf 8,这怎么可能 为了以防万一,我正在使用iPython笔记本。您有一个unicode字符串和一个字节字符串。它们不是一回事 一个是Unicode值,maria。另一个包含UTF-8编码的字节序列,'Mar\xc3\xada' 在比较Unicode和字节字符串值时,Python2会进行隐式转换,但您不应该指望这种转换,它完全取决于系统的默认编解码器集 如果您还不知道Unicode到底是什么,或者为什么UTF-8不是同一个东西,或者还想了解编码的其他内容,请参阅: 乔尔斯波尔斯基 内德·巴奇尔德 您
maria
。另一个包含UTF-8编码的字节序列,'Mar\xc3\xada'
在比较Unicode和字节字符串值时,Python2会进行隐式转换,但您不应该指望这种转换,它完全取决于系统的默认编解码器集
如果您还不知道Unicode到底是什么,或者为什么UTF-8不是同一个东西,或者还想了解编码的其他内容,请参阅:
- 乔尔斯波尔斯基
- 内德·巴奇尔德
maria
。另一个包含UTF-8编码的字节序列,'Mar\xc3\xada'
在比较Unicode和字节字符串值时,Python2会进行隐式转换,但您不应该指望这种转换,它完全取决于系统的默认编解码器集
如果您还不知道Unicode到底是什么,或者为什么UTF-8不是同一个东西,或者还想了解编码的其他内容,请参阅:
- 乔尔斯波尔斯基
- 内德·巴奇尔德
- 字符串不能为空;它们是相互排斥的。因此,不同的字符串。不能使用字符串;它们是相互排斥的。因此,不同的字符串。我不知道这是否应该是一个答案,但打印我得到的两个字符串的表示:
u'Mar\xeda'
/'Mar\xc3\xada'
,因此在表示方面存在差异。我不知道这是否应该是一个答案,但是打印我得到的两个字符串的表示形式:u'Mar\xeda'
/'Mar\xc3\xada'
,因此在表示形式上存在差异。
>>> str1 = unicode('María','utf8')
>>> str2 = u'María'.encode('utf8')
>>> str1 == str2
False