2016-11-09 10 views
1

Dieser Code funktioniert mit Python 2.7 aber auf Python 3.4 erhalte ich "String-Argument ohne Codierung" FehlerPython 3 String-Argument ohne Codierung

headers = {'Authorization' : 'Basic ' + base64.b64encode(bytes('Someuser:Somepassword')).encode('ascii')} 
+1

möglich Duplikat [Bytes Codierung Python] (https://stackoverflow.com/questions/31161243/python-string-argument- ohne-encoding) – Vaulstein

+0

Verwenden Sie 'b'Someuser: Somepassword'' wenn es sich um ein fest codiertes Literal handelt – mata

Antwort

1

Ich denke, Sie so etwas wie dieses brauchen:

headers = {'Authorization' : 'Basic ' + base64.b64encode(bytes('Someuser:Somepassword','ascii')).decode('ascii')} 
2

Die bytes() Klassenkonstruktors erwartet nun die Codierung als zweite Param. Beispiel:

bytes("mystring", "ascii")