【发布时间】:2023-03-11 05:27:02
【问题描述】:
我正在将项目代码从 Python 2 迁移到 Python 3。 一段代码正在使用 struct.pack 它为我提供字符串(Python2)和字节字符串(Python3)中的值 我想将 python3 中的字节字符串转换为普通字符串。转换后的字符串应具有相同的内容,以使其与现有值一致。 例如
in_val = b'\0x01\0x36\0xff\0x27' # Input value
out_val = '\0x01\0x36\0xff\0x27' # Output should be this
我有一种解决方案可以将 in_val 转换为字符串,然后显式删除 'b' 和 '\' 字符,这些字符将在转换为字符串后出现。
是否有任何其他解决方案可以使用干净的方式进行转换。 任何帮助表示赞赏
【问题讨论】:
-
为什么需要这样做? Python 2
str是一个字节串。您确定代码的其余部分必须将struct.unpack结果视为文本吗?
标签: python python-3.x byte python-2.x