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

2024-09-26 18:08:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了麻烦。下面是我的代码。但是我不知道为什么在输出字符串“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?

Tags: 字符串代码testimportredistruehosthello
2条回答

意思是一个字节字符串

您可以使用:

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

使用decode_responses=True生成unicode字符串。

b'Hello Python'是一个字节字符串-redis将在您进入的过程中自动对unicode字符串进行编码,但在您离开的过程中对其进行解码是您的工作。

最好显式编码和解码:

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

相关问题 更多 >

    热门问题