如何将字符串精确转换为字节?
Posted
技术标签:
【中文标题】如何将字符串精确转换为字节?【英文标题】: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'
【问题讨论】:
***.com/questions/7585435/… -my_str_as_bytes = str.encode(my_str)
\x8e
超出 7 位的 ASCII 范围。这意味着如何将其转换为字节是编码和代码页的问题。这就是为什么在 Python 3 中字符串和字节被分开的原因。为你的目的使用右边的(字节)!
它是 b'\xc2\x8e',我希望它是 b'\x8e'。还有,为什么要加\xc2?
【参考方案1】:
a = r'\x8e'
exec('my_string = b"' + a + '"')
print(my_string)
就是这样。
【讨论】:
以上是关于如何将字符串精确转换为字节?的主要内容,如果未能解决你的问题,请参考以下文章
我正在使用二进制阅读器将字符串转换为字节,如何将字节反转回相同的字符串 [重复]