关于Python3.4.1客户端中的char b前缀连接到redis

时间:2014-09-09 12:46:39

标签: python redis

我遇到了麻烦。我的代码如下。但我不知道为什么会有一个字母' b'在输出字符串" Hello Python"。

之前
>>> import redis
>>> redisClient = redis.StrictRedis(host='192.168.3.88',port=6379)
>>> redisClient.set('test_redis', 'Hello Python')
True
>>> value = redisClient.get('test_redis')
>>> print(value)
b'Hello Python' //why char 'b' output?

2 个答案:

答案 0 :(得分:69)

这意味着它是一个字节串

您可以使用:

redis.StrictRedis(host="localhost", port=6379, charset="utf-8", decode_responses=True)

使用decode_responses=True制作unicode字符串。

答案 1 :(得分:40)

b'Hello Python'是一个字节字符串 - redis将在途中为您自动编码一个unicode字符串,但是在出路时解码它是你的工作。

最好明确编码和解码:

>>> redisClient.set('test_redis', 'Hello Python'.encode('utf-8'))
>>> redisClient.get('test_redis').decode('utf-8')
'Hello Python'