我有以下两个变量:
a = chr(92) + 'x11'
b = 'x11'
print 'a is: ' + a
print 'b is: ' + b
这些打印状态的结果:
a is: x11
b is: <| # Here I am just showing a representation of the symbol that is printed for b
如何使用chr(92)调用使变量a打印与var b相同的内容?提前谢谢。
其他答案将向您展示如何使b
提供您在a
中获得的内容。如果你想让a
给你在b
中得到的东西(如果我没看错的话,这就是你的要求),你需要解码转义序列:
>>> a
u'\x11'
>>> a.decode('string-escape')
'x11'
如果需要unicode字符串作为结果,也可以使用unicode-escape
而不是string-escape
。
查看文档中的字符串文字。
反斜杠是Python字符串中的转义符,因此要在字符串中包含一个字面反斜杠,需要使用两个连续的反斜杠对其进行转义。或者,您可以通过使用原始字符串文字来抑制反斜杠的转义行为,这是通过在字符串前面加上r
来完成的。例如:
-
转义反斜杠:
b = '\x11'
-
使用原始字符串文字:
b = r'x11'
如果我误解了你的问题,b
应该是'x11'
或等效的chr(17)
,但你只是想让它以转义格式显示,你可以使用repr()
:
>>> b = 'x11'
>>> print 'b is: ' + repr(b)
b is: 'x11'
如果不需要引号,请使用字符串转义编码:
>>> print 'b is: ' + b.encode('string_escape')
b is: x11
或者,要使a
与b
相同,可以使用a.decode('string_escape')
。
x11
似乎是ASCII中^Q
控制字符的十六进制值: