我遇到了麻烦.My代码below.But我不知道为什么在输出字符串"Hello Python“之前会有一个字符'b‘。
>>> 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?
发布于 2014-09-09 20:48:00
b'Hello Python'
是一个字节字符串-- redis会在你进入的时候自动编码一个unicode字符串,但是你的工作就是在出来的时候解码它。
最好显式编码和解码:
>>> redisClient.set('test_redis', 'Hello Python'.encode('utf-8'))
>>> redisClient.get('test_redis').decode('utf-8')
'Hello Python'
发布于 2014-09-09 20:49:47
这意味着它是一个字节字符串
您可以使用:
redis.StrictRedis(host="localhost", port=6379, charset="utf-8", decode_responses=True)
使用decode_responses=True
生成unicode字符串。
https://stackoverflow.com/questions/25745053
复制相似问题