【发布时间】:2015-12-09 15:39:33
【问题描述】:
我有两个具有以下值的变量(比如x 和y):
x = u'Ko\u0161ick\xfd'
y = 'Ko\x9aick\xfd'
它们可能以不同的方式编码相同的名称。第一个变量是 unicode,第二个是字符串。
有没有办法将字符串转换为 unicode(或将 unicode 转换为字符串)并检查它们是否真的相同。
我尝试使用encode
x.encode('utf-8')
它返回一些新的东西(第三个版本):
'Ko\xc5\xa1ick\xc3\xbd'
并使用以下内容:
print x.encode('utf-8')
返回另一个版本:
KošickÛ
所以,我完全糊涂了。有没有办法让所有内容保持相同的格式?
【问题讨论】:
-
你的
y缺少一些东西...我已经在我的 python IDLE 调试器上检查过了,x是Kosicky和y是Koicky(缺少 @987654334 @)。 -
@Neoares 您的 IDLE 似乎缺少正确的字形。
x在这里是“Košický”。 -
@tripleee 那么没关系 :) 无论如何,你用什么 IDLE?
-
我根本不使用 Python 附带的简单 IDLE。这是在 OSX 命令行上使用基本的 Python REPL,但我希望在任何现代平台上都有相同的行为(奇怪的是,它似乎仍然排除了 WIndows,或者至少是一些流行版本)。
-
我相信正确的编码是
cp1252...
标签: python unicode decode encode