【发布时间】:2022-01-11 08:01:37
【问题描述】:
我的应用程序中有以下键,虽然是前缀,但它保存为字符串而不是字节 (<class 'str'>)。
b'-----BEGIN RSA PUBLIC KEY-----\nMBgCEQCc5QP2pLttRTltj9QFdn1DAgMBAAE=\n-----END RSA PUBLIC KEY-----\n'
我尝试将 is 转换为字节字符串,使用 bytes() 或 .encode,但两者都返回以下不一样的格式:
b"b'-----BEGIN RSA PUBLIC KEY-----\\nMBgCEQCc5QP2pLttRTltj9QFdn1DAgMBAAE=\\n-----END RSA PUBLIC KEY-----\\n'" <class 'bytes'>
关于如何告诉我的程序直接获取这个字符串并将其作为字节读取的任何线索?
【问题讨论】:
-
第一个样本已经是一个字节对象,你能澄清一下你想要做什么吗?
-
@Passerby 嘿,虽然是前缀,但它保存为字符串而不是字节,当我使用 type() 函数时,我得到
(<class 'str'>) -
这能回答你的问题吗? Python convert string literals to strings 虽然问题是关于将字符串文字解析为字符串,但答案适用于解析任何类型的 Python 文字。在您的情况下,您希望将包含字节文字的字符串解析为字节,因此
ast.literal_eval可以解决问题。 -
向我们展示一些示例代码,而不仅仅是字符串。
-
如果您确实有一个包含
b'...'内容的字符串,那么我的建议是:首先避免出现这种情况!找出导致它的原因,然后修复那个!