A propos du préfixe char b en Python3.4.1 client connect to redis
je suis dans le pétrin .Mon code ci-dessous.Mais je ne sais pas pourquoi il y a un char 'b' avant la chaîne de sortie "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?
32
demandé sur
Eric
2014-09-09 16:46:39
2 réponses
b'Hello Python'
est une chaîne byte-redis va auto-encoder une chaîne unicode pour vous en chemin, mais c'est votre travail de la décoder en chemin.
mieux vaut explicitement encoder et décoder:
>>> redisClient.set('test_redis', 'Hello Python'.encode('utf-8'))
>>> redisClient.get('test_redis').decode('utf-8')
'Hello Python'
33
répondu
Eric
2014-09-09 12:47:59
cela signifie que C'est une chaîne d'octets
Vous pouvez utiliser:
redis.StrictRedis(host="localhost", port=6379, charset="utf-8", decode_responses=True)
en utilisant decode_responses=True
pour faire une chaîne unicode.
55
répondu
mickeyandkaka
2014-09-09 12:52:31