处理 python 中的字符串和字节

Dealing with a string and byte in python

我正在处理一些 python 代码,我似乎无法弄清楚如何获得字节表示和字符串变量一起工作。

我有:

secret = b'a very secret message'

如果我将其重新定义为:

myrealsecret = 'Hey there this is a real secret'
secret = b+myrealsecret

这是为什么?以及如何获得 myrealsecret 中的任何值,以便与 secret 一起作为字节表示很好地发挥作用?

谢谢。

如果您希望结果为字节,encode 字符串(默认编码为 utf8):

>>> secret+myrealsecret.encode()
b'a very secret messageHey there this is a real secret'

如果你希望结果是一个字符串,decode字节:

>>> secret.decode()+myrealsecret
'a very secret messageHey there this is a real secret'

或者,只需将 myrealsecret 定义为字节对象,开始于:

>>> myrealsecret = b'Hey there this is a real secret'
>>> secret + myrealsecret
b'a very secret messageHey there this is a real secret'