[英]Python Escape Sequence and String Manipulation
我有以下兩個變量:
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
我該如何使變量a使用chr(92)調用輸出與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'
如果您不想使用引號,請使用string_escape編碼 :
>>> print 'b is: ' + b.encode('string_escape')
b is: \x11
或者得到a
是一樣的b
,你可以使用a.decode('string_escape')
\\x11
似乎是ASCII中的^Q
控制字符的十六進制值:
\021 17 DC1 \x11 ^Q (Device control 1) (XON) (Default UNIX START char.)
您需要轉義\\
以獲得文字\\x11
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.