【问题标题】:How to convert a string to bytes exactly?如何将字符串精确转换为字节?
【发布时间】:2022-01-10 08:24:40
【问题描述】:

我需要将 a 字符串完全转换为字节,因此看起来 b 和 binascii.hexlify() 对于 a 和 b 都是相同的。最好的方法? Python 3.10.0

a = "\x8e"
b = b'\x8e'
print(bytes(a, 'utf-8')) # b'\xc2\x8e'
print(b) # b'\x8e'
print(binascii.hexlify(bytes(a, 'utf-8'))) # b'c28e'
print(binascii.hexlify(b)) # b'8e'

【问题讨论】:

  • stackoverflow.com/questions/7585435/… - my_str_as_bytes = str.encode(my_str)
  • \x8e 超出 7 位的 ASCII 范围。这意味着如何将其转换为字节是编码和代码页的问题。这就是为什么在 Python 3 中字符串和字节被分开的原因。为你的目的使用右边的(字节)!
  • 它是 b'\xc2\x8e',我希望它是 b'\x8e'。还有,为什么要加\xc2?

标签: python byte


【解决方案1】:
a = r'\x8e'
exec('my_string = b"' + a + '"')
print(my_string)

就是这样。

【讨论】:

    猜你喜欢
    • 2021-10-18
    • 2014-01-01
    • 1970-01-01
    • 2023-02-26
    • 1970-01-01
    • 1970-01-01
    • 2021-03-01
    • 1970-01-01
    相关资源
    最近更新 更多