在Python 3中删除字符串文字前面的'b'字符

时间:2016-05-04 01:27:17

标签: python string encryption binary

我是python编程的新手,我有点困惑。我尝试从字符串中获取字节以进行哈希和加密,但我得到了

b'...'

b字符串前面的字符就像下面的例子一样。有没有办法避免这种情况?。任何人都可以提供解决方案吗?对不起这个愚蠢的问题

import hashlib

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

输出:

 print b'my secret data'

3 个答案:

答案 0 :(得分:100)

这应该可以解决问题:

pw_bytes.decode("utf-8")

答案 1 :(得分:18)

解码是多余的

你只有这个"错误"首先,由于对发生的事情的误解。

您获得了b,因为您编码为utf-8,现在它是一个字节对象。

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

<强>修正:

  1. 您可以先打印字符串
  2. 编码后对其进行冗余解码

答案 2 :(得分:11)

这里你去

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