我运行以下代码:
x=b"a\bcde"
print(x)
然后我将b'a\x08cde'
作为x
的值。但是我想用b'a\bcde'
代替x的b'a\x08cde'
。我尝试改用x ="a\bcde".encode("utf-8")
,但结果仍然相同。我该怎么办?
非常感谢!
答案 0 :(得分:1)
像韵母一样工作(请注意双反斜杠):
x = b"a\\bcde"
print(x)
从现在开始,请记住在字符串中使用反斜杠时将其加倍。
答案 1 :(得分:0)
它们是相同的字节序列。 "\b"
是退格字符,08
以十六进制表示:
>> b"a\bcde" == b'a\x08cde'
True
如果要使用文字反斜杠而不是退格字符,则必须转义反斜杠或使用原始字符串。
>> b"a\\bcde"
b'a\\bcde'
>> br"a\bcde"
b'a\\bcde'
最后,不要被表示形式所欺骗,也要使用双反斜杠,在打印或以其他方式使用时,该值只有一个反斜杠。
>> print(br"a\bcde".decode('ascii'))
a\bcde
答案 2 :(得分:0)
反斜杠\
字符用于转义具有特殊含义的字符,例如换行符,反斜杠本身或引号字符。
example:
\\ Backslash (\)
\' Single quote (')
\" Double quote (")
您有两个选择:
转义反斜杠x = b'a\\bcde'
将字符串声明为原始x = r'a\bcde'