python - 编码,打印无法弄清楚

大卫·卡塔什扬

这两个字符串在打印时看起来相同,但它们在引擎盖下并不相等。我需要通过这个键选择一个字典项,但我得到 keyError ,因为显然它们不匹配。我曾尝试使用str.encode("utf-8")str.decode("utf-8")unicode(str, "utf-8")repr()没有任何帮助。我怎样才能让它们像打印时一样相等谢谢。

>>> str1 = u"extra\u00f1ar"
>>> str2 = u"extrañar"
>>> str1
u'extra\xf1ar'
>>> str2
u'extran\u0303ar'
>>> print str1
extrañar
>>> print str2
extrañar
>>> str1 == str2
False
胡安帕阿里维拉加

您可以尝试使用unicodedata.normalize,但不能保证它有效:

>>> str1 = u'extra\xf1ar'
>>> str2 = u'extran\u0303ar'
>>> str1 == str2
False
>>> print str1; print str2
extrañar
extrañar

所以,观察:

>>> import unicodedata
>>> unicodedata.normalize('NFC', str1)
u'extra\xf1ar'
>>> unicodedata.normalize('NFC', str2)
u'extra\xf1ar'
>>> unicodedata.normalize('NFC', str2) == unicodedata.normalize('NFC', str2)
True
>>> print unicodedata.normalize('NFC', str2); print unicodedata.normalize('NFC', str2)
extrañar
extrañar

一个警告

即使两个 unicode 字符串被标准化并且对人类读者来说看起来相同,如果一个有组合字符而另一个没有,它们可能不会比较相等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python,无法弄清楚如何保存循环变量

来自分类Dev

无法弄清楚Python中的if / else语法

来自分类Dev

Python,无法弄清楚如何保存循环变量

来自分类Dev

我无法弄清楚我的Python Socket错误

来自分类Dev

无法弄清楚如何打印toString

来自分类Dev

用Python编写Discord机器人-无法弄清楚如何设置反应角色

来自分类Dev

无法弄清楚如何使用Python 3.3.3和Windows 7 64bit安装numpy

来自分类Dev

无法弄清楚为什么我的字母在 Python 的凯撒代码中没有旋转

来自分类Dev

无法弄清楚如何在 Python3 中重复进程

来自分类Dev

无法弄清楚这段代码有什么问题 [python 3x]

来自分类Dev

无法弄清楚如何使用 Spyne 将 Python dict/Json 作为 xml 返回

来自分类Dev

弄清楚Python中属性或方法之间的混淆

来自分类Dev

我无法弄清楚Python上的类结构,并且有一个“ AttributeError”

来自分类Dev

尝试使用 python 计算 EMA,但我无法弄清楚为什么我的代码总是产生相同的结果

来自分类Dev

无法弄清楚PHP中的字符编码

来自分类Dev

无法弄清楚PHP中的字符编码

来自分类Dev

无法弄清楚为什么会打印出63

来自分类Dev

无法弄清楚用法

来自分类Dev

无法弄清楚崩溃

来自分类Dev

Python-无法弄清楚为什么正则表达式在这些代码中起作用和不起作用?

来自分类常见问题

无法弄清楚为什么我的打印语句会不断打印两次

来自分类Dev

无法弄清楚为什么我的打印语句会不断打印两次

来自分类Dev

需要帮助弄清楚如何在python中发送POST登录信息

来自分类Dev

需要帮助弄清楚如何更新某些 Python 字典列表中的 key.value

来自分类Dev

我无法弄清楚这些错误

来自分类Dev

PL / SQl错误。无法弄清楚

来自分类Dev

卷毛的问题无法弄清楚

来自分类Dev

无法弄清楚如何<s:select>

来自分类Dev

我无法弄清楚这些错误

Related 相关文章

  1. 1

    Python,无法弄清楚如何保存循环变量

  2. 2

    无法弄清楚Python中的if / else语法

  3. 3

    Python,无法弄清楚如何保存循环变量

  4. 4

    我无法弄清楚我的Python Socket错误

  5. 5

    无法弄清楚如何打印toString

  6. 6

    用Python编写Discord机器人-无法弄清楚如何设置反应角色

  7. 7

    无法弄清楚如何使用Python 3.3.3和Windows 7 64bit安装numpy

  8. 8

    无法弄清楚为什么我的字母在 Python 的凯撒代码中没有旋转

  9. 9

    无法弄清楚如何在 Python3 中重复进程

  10. 10

    无法弄清楚这段代码有什么问题 [python 3x]

  11. 11

    无法弄清楚如何使用 Spyne 将 Python dict/Json 作为 xml 返回

  12. 12

    弄清楚Python中属性或方法之间的混淆

  13. 13

    我无法弄清楚Python上的类结构,并且有一个“ AttributeError”

  14. 14

    尝试使用 python 计算 EMA,但我无法弄清楚为什么我的代码总是产生相同的结果

  15. 15

    无法弄清楚PHP中的字符编码

  16. 16

    无法弄清楚PHP中的字符编码

  17. 17

    无法弄清楚为什么会打印出63

  18. 18

    无法弄清楚用法

  19. 19

    无法弄清楚崩溃

  20. 20

    Python-无法弄清楚为什么正则表达式在这些代码中起作用和不起作用?

  21. 21

    无法弄清楚为什么我的打印语句会不断打印两次

  22. 22

    无法弄清楚为什么我的打印语句会不断打印两次

  23. 23

    需要帮助弄清楚如何在python中发送POST登录信息

  24. 24

    需要帮助弄清楚如何更新某些 Python 字典列表中的 key.value

  25. 25

    我无法弄清楚这些错误

  26. 26

    PL / SQl错误。无法弄清楚

  27. 27

    卷毛的问题无法弄清楚

  28. 28

    无法弄清楚如何<s:select>

  29. 29

    我无法弄清楚这些错误

热门标签

归档