Question
Asked By – Panagiotis Drakatos
I am new in python programming and i am a bit confused. I try to get the bytes from a string to hash and encrypt but i got
b'...'
b character in front of string just like the below example. Is any way avoid this?.Can anyone give a solution? Sorry for this silly question
import hashlib
text = "my secret data"
pw_bytes = text.encode('utf-8')
print('print',pw_bytes)
m = hashlib.md5()
m.update(pw_bytes)
OUTPUT:
print b'my secret data'
Now we will see solution for issue: Remove ‘b’ character do in front of a string literal in Python 3 [duplicate]
Answer
Decoding is redundant
You only had this “error” in the first place, because of a misunderstanding of what’s happening.
You get the b
because you encoded to utf-8
and now it’s a bytes object.
>> type("text".encode("utf-8"))
>> <class 'bytes'>
Fixes:
- You can just print the string first
- Redundantly decode it after encoding
This question is answered By – Pythonista
This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0