Im Wesentlichen habe ich eine Anfrage an eine Website und bekam eine Byte-Antwort zurück: b'[{"geonameId:"703448"}..........'.
Ich bin verwirrt, denn obwohl es vom Typ Byte ist, ist es sehr menschlich lesbar und erscheint wie eine Liste von Json. Ich weiß, dass die Antwort in latin1 von laufendem kodiert wird, das ISO-859-1
zurückgab, und ich habe versucht, es zu entschlüsseln, aber es gibt nur eine leere Zeichenkette zurück. Hier ist, was ich bisher habe:Anfrage liefert Bytes und ich bin nicht in der Lage, sie zu decodieren
r = response.content
string = r.decode("ISO-8859-1")
print (string)
und das ist, wo es eine leere Zeile druckt. Allerdings, wenn ich
len(string)
laufen erhalte ich: zurück 31023
Wie kann ich dieses Bytes ohne immer wieder eine leere Zeichenfolge entschlüsseln?
in Python 2.x gibt str' können Sie habe einige codierte Zeichen, die sich irgendwo irgendwo versteckt haben. Auf Python 3.x erhalten Sie ein 'Bytes' Literal. Warum glauben Sie, dass Sie eine Codierung/Decodierung durchführen müssen? –
Weil ich den JSON parsen muss, und ich gerade versucht habe, es zu überspielen: mit 'für i in Reichweite (len (Inhalt)): Inhalt [i] drucken 'und es wird nur viele Zahlen ausgedruckt. –