【问题标题】:Dealing with a string and byte in python [duplicate]在python中处理字符串和字节[重复]
【发布时间】:2016-03-29 07:37:13
【问题描述】:

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

我有:

secret = b'a very secret message'

如果我将其重新定义为:

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

这是为什么呢?以及如何让myrealsecret 中的任何值与secret 作为字节表示很好地配合使用?

谢谢。

【问题讨论】:

  • 不是骗子........虽然我确实看到了你的假设。我问我如何一起使用我的两个变量引用。
  • 你需要.encode()你的字符串或.decode()你的字节,这取决于你希望结果是字节还是字符串。
  • 嗯,你能解释一下如何获得一个字节表示和一个字符串变量一起工作是什么意思吗?但是,如果您使用的是 Python 3,b'test'+'text' 会提高 TypeError
  • 啊,这是骗子:stackoverflow.com/q/606191
  • 我只是尝试获取一个变量,例如 myrealsecret 并将其表示为一个字节,以便我可以将它与 secret var 结合使用

标签: python python-3.x byte


【解决方案1】:

如果你希望结果是字节,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'

【讨论】:

  • 终于有人不急于下结论了。这是正确的,非常感谢!
猜你喜欢
  • 2016-09-19
  • 2016-03-28
  • 2019-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-14
  • 2017-07-31
相关资源
最近更新 更多