Remove #39;b#39; character do in front of a string literal in Python 3(在 Python 3 中删除字符串文字前面的“b字符)
问题描述
我是 python 编程的新手,我有点困惑.我尝试从字符串中获取字节以进行散列和加密,但我得到了
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 字符串前面的字符,如下例所示.有什么办法可以避免这种情况吗?谁能给出解决方案?对不起这个愚蠢的问题
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)
输出:
print b'my secret data'
推荐答案
解码是多余的
你一开始只有这个错误",因为对正在发生的事情有误解.
You only had this "error" in the first place, because of a misunderstanding of what's happening.
您获得了 b,因为您编码为 utf-8,现在它是一个字节对象.
You get the b because you encoded to utf-8 and now it's a bytes object.
>> type("text".encode("utf-8"))
>> <class 'bytes'>
修复:
- 你可以先打印字符串
- 编码后冗余解码
这篇关于在 Python 3 中删除字符串文字前面的“b"字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 Python 3 中删除字符串文字前面的“b"字符
基础教程推荐
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
