在给定的示例中:“ \ info \ more info \ nName” 我怎么把它变成字节
我尝试使用unicode-escape,但这似乎不起作用:(
data = "\info\more info\nName"
dataV2 = str.encode(data)
FinalData = dataV2.decode('unicode-escape').encode('utf_8')
print(FinalData)
这是我应该得到的b'\ info \ more info \ nName' 但是发生了意外情况,我在终端中收到了DeprecationWarnings 我假设这是因为反斜杠导致无效的序列,但是我在项目中需要它们
答案 0 :(得分:1)
字符前的反斜杠表示试图转义其后的字符以使其成为某种特殊字符。之所以会得到SELECT Name, Count(*)
FROM table
GROUP BY Name
,是因为Python( finally )最终会导致无法识别的错误转义,而不是将它们当作字符后面的文字反斜杠。
要解决此问题,请将您的反斜杠加倍(不确定是否要换行;如果是这样,请在DeprecationWarning
前加倍反斜杠):
n
或者,如果您希望所有的反斜杠都是文字的反斜杠(data = "\\info\\more info\\nName"
不应是换行符),则可以通过在\n
前面加上前缀来使用原始字符串:
r
对引号字符本身以外的所有内容禁用反斜杠插值。
请注意,如果您仅在交互式解释器中让data = r"\info\more info\nName"
回显,它将显示反斜杠两倍(因为它隐式使用了data
的{{1}},这就是您'd复制它)。为避免这种情况,请repr
str
查看其实际外观:
print
答案 1 :(得分:0)
您可以使用另一个反斜杠转义一个反斜杠。
<h3 text-center>Register new user</h3>
<mat-card>
<mat-card-content>
<mat-form-field>
<mat-error></mat-error>
</mat-form-field>
</mat-card-content>
</mat-card>
对于不需要转义的部分,您也可以使用原始字符串。
<mat-xxxx>
请注意,如果最后一个字符是反斜杠,则原始字符串不起作用。