Question

[Solved] Remove ‘b’ character do in front of a string literal in Python 3 [duplicate]

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'

Solution #1:

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:

  1. You can just print the string first
  2. Redundantly decode it after encoding

Solution #2:

This should do the trick:

pw_bytes.decode("utf-8")
Respondent: Pythonista

Solution #3:

Here u Go

f = open('test.txt','rb+')
ch=f.read(1)
ch=str(ch,'utf-8')
print(ch)
Respondent: krock

The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .

Most Popular

To Top
India and Pakistan’s steroid-soaked rhetoric over Kashmir will come back to haunt them both clenbuterol australia bossier man pleads guilty for leadership role in anabolic steriod distribution conspiracy