Python-将具有特殊字符的字符串转换为字节

时间:2019-09-08 06:39:56

标签: python python-3.x string python-2.7 special-characters

我运行以下代码:

x=b"a\bcde"
print(x)

然后我将b'a\x08cde'作为x的值。但是我想用b'a\bcde'代替x的b'a\x08cde'。我尝试改用x ="a\bcde".encode("utf-8"),但结果仍然相同。我该怎么办?

非常感谢!

3 个答案:

答案 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 (")

您有两个选择:

  1. 转义反斜杠x = b'a\\bcde'

  2. 将字符串声明为原始x = r'a\bcde'