如何保存/获得redis哈希键作为unicode



当我从redis获得哈希映射key:value时,结果是这样的:

hmgetall {'<a href="/topic/xd8xb1xd8xafxdbx8cxd8xb3-xd8xaaxd8xb3xd8xaa">xd8xb1xd8xafxdbx8cxd8xb3 xd8xaaxd8xb3xd8xaa</a>': '1'}

在python中保存为unicoe。

所以我想知道如何将哈希键保存为unicode,以便与unicode字符串进行比较?

我希望密钥保存为unicode格式,即:

   key =  '<a href="/topic/u0631u062fu06ccu0633-u062au0633u062a">u0631u062fu06ccu0633 u062au0633u062a</a>'

或者,否则,我希望能够将密钥转换为xd8xb1xd8xaf...格式,以便我可以与redis保存的密钥进行比较。

我看了文档,但找不到关于这个的提示。

假设您正在使用Python 2,并且键/值被编码为utf-8:

>>> redis_key = '<a href="/topic/xd8xb1xd8xafxdbx8cxd8xb3-xd8xaaxd8xb3xd8xaa">xd8xb1xd8xafxdbx8cxd8xb3 xd8xaaxd8xb3xd8xaa</a>'
>>> redis_key.decode('utf-8')
u'<a href="/topic/u0631u062fu06ccu0633-u062au0633u062a">u0631u062fu06ccu0633 u062au0633u062a</a>'

对现有密钥进行编码:

>>> key = u'<a href="/topic/u0631u062fu06ccu0633-u062au0633u062a">u0631u062fu06ccu0633 u062au0633u062a</a>'
>>> key.encode('utf-8')
'<a href="/topic/xd8xb1xd8xafxdbx8cxd8xb3-xd8xaaxd8xb3xd8xaa">xd8xb1xd8xafxdbx8cxd8xb3 xd8xaaxd8xb3xd8xaa</a>'

最新更新