it-swarm.com.de

Entfernen Sie das 'b'-Zeichen do vor einem String-Literal in Python 3

Ich bin neu in python Programmierung und ich bin ein bisschen verwirrt. Ich versuche, die Bytes aus einem String zu Hash und zu verschlüsseln, aber ich habe

b'...'

b-Zeichen vor der Zeichenfolge, genau wie im folgenden Beispiel. Kann irgendjemand eine Lösung finden? Entschuldigung für diese dumme Frage

import hashlib

text = "my secret data"
pw_bytes = text.encode('utf-8')
print('print',pw_bytes)
m = hashlib.md5()
m.update(pw_bytes)

AUSGABE:

 print b'my secret data'
46

Decodierung ist redundant

Sie hatten nur diesen "Fehler", weil Sie falsch verstanden haben, was gerade passiert.

Sie erhalten das b, weil Sie in utf-8 Codiert haben und es sich jetzt um ein Byte-Objekt handelt.

 >> type("text".encode("utf-8"))
 >> <class 'bytes'>

Korrekturen:

  1. Sie können die Zeichenfolge einfach zuerst drucken
  2. Dekodiere es nach der Kodierung redundant
19
Pythonista

Dies sollte den Trick machen:

pw_bytes.decode("utf-8")
111
krock

Bitteschön

f = open('test.txt','rb+')
ch=f.read(1)
ch=str(ch,'utf-8')
print(ch)
12
Muhammad Younus