首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >关于Python3.4.1客户端中的char b前缀连接到redis

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

Stack Overflow用户
提问于 2014-09-09 20:46:39
回答 2查看 22K关注 0票数 52

我遇到了麻烦.My代码below.But我不知道为什么在输出字符串"Hello Python“之前会有一个字符'b‘。

代码语言:javascript
复制
>>> 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?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-09 20:48:00

b'Hello Python'是一个字节字符串-- redis会在你进入的时候自动编码一个unicode字符串,但是你的工作就是在出来的时候解码它。

最好显式编码和解码:

代码语言:javascript
复制
>>> redisClient.set('test_redis', 'Hello Python'.encode('utf-8'))
>>> redisClient.get('test_redis').decode('utf-8')
'Hello Python'
票数 59
EN

Stack Overflow用户

发布于 2014-09-09 20:49:47

这意味着它是一个字节字符串

您可以使用:

代码语言:javascript
复制
redis.StrictRedis(host="localhost", port=6379, charset="utf-8", decode_responses=True)

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

票数 97
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25745053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档