【问题标题】:Converting a string formatted in hex in Python to binary data correctly将Python中十六进制格式的字符串正确转换为二进制数据
【发布时间】:2020-04-28 13:44:40
【问题描述】:

我有一个格式化为 '\x00\x00\x00\x00' 的字符串,需要对其进行格式化,以便在打印时在控制台中显示为 b'\x00\x00\x00\x00'

我该怎么做?

编辑:我有一个不同版本的代码打印出一个格式为 b'\xf4\x00\x00\x00' 等的字符串,并在我的计算机上打印 '\xf4\x00\x00\x00'

【问题讨论】:

  • 你只想要"\x00\x00\x00\x00".encode()吗?
  • 你的意思是你需要用双引号而不是单引号打印出来吗?因为如果你只是简单地做 z = b"\x00\x00\x00\x00" 然后打印它,它会用单引号出现,但它会看起来像你要求的那样。
  • @Matthew 你还在用 Python 2 吗?
  • @MarkMeyer 哦,哇,这就是差异的问题。我用 python3 运行它,现在它的格式正确。谢谢!
  • @MarkMeyer 这也解决了我过去几天遇到的所有其他代码问题......哦!谢谢!

标签: python string binary


【解决方案1】:

只需在字符串之前添加 b 字面量,这样您就可以将字符串定义为字节

# example
s = b"\x00\x00\x00\x00" 
print(s)

如果您从其他地方接收字符串并且您没有手动编写它,您可以将字符串编码为字节

# an other example
# let's pretend that we received the value from, say, a function
s = "\x00\x00\x00\x00".encode() # again, pretend that this value has just been retrieved from a function
print(s)

【讨论】:

    猜你喜欢
    • 2017-05-26
    • 2020-02-26
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 2022-07-08
    • 1970-01-01
    相关资源
    最近更新 更多