首页 > 解决方案 > Python:如何将文字字节附加到没有解码的字符串?

问题描述

在 Python 中,字符串可以通过"\x??"转义具有任意字节。这些字节不一定必须映射到编码中的字符。例如,我们可以有"\xa0",即使 0xa0 不是一个好的 utf-8 字符。

但是,如果我有一个字节数组,例如b'\xa0',我不能将它附加到一个字符串而不解码它。如果我只想按字面意思追加,就像"\xa0"?

如何将一系列字节附加到字符串而不解码它们,就像"\x"转义字符一样?是否有“文字解码”或“无解码”选项decode()?如果没有,还有其他方法可以做到这一点吗?

标签: pythoncharacter-encoding

解决方案


首先,考虑将这些存储在字符串中是否真的最适合您的用例。存储为字节/字节数组通常是更惯用的选项。

但是,如果您已经考虑了这一点并仍然决定继续,那么您应该将"latin1"编码选项传递给bytes.decode. 这会将字节直接转换为具有相应值的字符。


推荐阅读