当我从redis获得哈希映射键:值时,结果如下:
hmgetall {'<a href="/topic/\xd8\xb1\xd8\xaf\xdb\x8c\xd8\xb3-\xd8\xaa\xd8\xb3\xd8\xaa">\xd8\xb1\xd8\xaf\xdb\x8c\xd8\xb3 \xd8\xaa\xd8\xb3\xd8\xaa</a>': '1'}
虽然它在python中保存为unicoe。
所以我想知道如何将散列密钥保存为unicode,以便可以将其与unicode字符串进行比较?
我希望将密钥保存到它的unicode格式中:
key = '<a href="/topic/\u0631\u062f\u06cc\u0633-\u062a\u0633\u062a">\u0631\u062f\u06cc\u0633 \u062a\u0633\u062a</a>'
或者,我希望能够将密钥转换为\xd8\xb1\xd8\xaf\...
格式,以便我可以将其与redis&#39;进行比较。保存密钥。
我看过the docs,却找不到有关此事的提示。
答案 0 :(得分:1)
假设您正在使用Python 2,并且键/值被编码为utf-8:
>>> redis_key = '<a href="/topic/\xd8\xb1\xd8\xaf\xdb\x8c\xd8\xb3-\xd8\xaa\xd8\xb3\xd8\xaa">\xd8\xb1\xd8\xaf\xdb\x8c\xd8\xb3 \xd8\xaa\xd8\xb3\xd8\xaa</a>'
>>> redis_key.decode('utf-8')
u'<a href="/topic/\u0631\u062f\u06cc\u0633-\u062a\u0633\u062a">\u0631\u062f\u06cc\u0633 \u062a\u0633\u062a</a>'
编码现有密钥:
>>> key = u'<a href="/topic/\u0631\u062f\u06cc\u0633-\u062a\u0633\u062a">\u0631\u062f\u06cc\u0633 \u062a\u0633\u062a</a>'
>>> key.encode('utf-8')
'<a href="/topic/\xd8\xb1\xd8\xaf\xdb\x8c\xd8\xb3-\xd8\xaa\xd8\xb3\xd8\xaa">\xd8\xb1\xd8\xaf\xdb\x8c\xd8\xb3 \xd8\xaa\xd8\xb3\xd8\xaa</a>'