Demande de renvoie octets, et je ne suis pas à décoder

En fait, j'ai fait une demande pour un site web et a obtenu un octet réponse: b'[{"geonameId:"703448"}..........'. je suis confondu parce que même s'il est de type byte, il est très lisible et semble comme une liste de json. Je sais que la réponse est codée en latin1 de l'exécution de r.encoding qui a retourné ISO-859-1 et j'ai essayé de le décoder, mais elle retourne une chaîne vide. Voici ce que j'ai à ce jour:

r = response.content
string = r.decode("ISO-8859-1")
print (string)

et c'est là où il imprime une ligne vide.
Cependant quand je lance

len(string)

J'obtiens: retour 31023
Comment décoder ces octets sans obtenir en retour une chaîne vide?

  • en python 2.x le b préfixe sera la cause de la chaîne entouré de devenir un type str vous pouvez avoir certains caractères codés déjà caché quelque part à l'intérieur. Sur Python 3.x vous recevrez un bytes littérale. pourquoi pensez-vous que vous avez besoin pour effectuer un codage/décodage?
  • Parce que j'ai besoin de parser le json, et j'ai juste essayé de boucler sur elle: avec for i in range(len(contents)): print content[i] et c'est juste l'impression de beaucoup de chiffres.
InformationsquelleAutor koda gates | 2015-07-29