在python中处理字符串和字节

Dealing with a string and byte in python

本问题已经有最佳答案,请猛点这里访问。

我正在处理一些python代码,我似乎不知道如何获得字节表示,以及如何一起工作的字符串变量。

我有:

1
secret = b'a very secret message'

如果我重新定义为:

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

为什么会这样?我如何才能得到myrealsecret中的任何值,以便作为字节表示与secret进行良好的配合?

谢谢您。


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

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

如果希望结果是字符串,则decode字节:

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

或者,只需将myrealsecret定义为一个字节对象,以:

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