Warum muss ich " b " kodiert einen string mit Base64?

Folgenden python-Beispiel, ich konvertieren einen string mit Base64:

>>> import base64
>>> encoded = base64.b64encode(b'data to be encoded')
>>> encoded
b'ZGF0YSB0byBiZSBlbmNvZGVk'

Aber, wenn ich verlassen sich die führenden b:

>>> encoded = base64.b64encode('data to be encoded')

Bekomme ich die folgende Fehlermeldung:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python32\lib\base64.py", line 56, in b64encode
   raise TypeError("expected bytes, not %s" % s.__class__.__name__)
   TypeError: expected bytes, not str

Warum ist das so?

  • Eigentlich alle Fragen, die Rückkehr "TypeError: expected bytes, nicht str" haben die gleiche Antwort.
InformationsquelleAutor dublintech | 2012-01-18
Schreibe einen Kommentar