我整天工作,沒有結果將整數轉換爲Python 3.2中形式爲「\ x ..」的字符串。當使用ascii轉換或其他我得到'0x ..'或'\\ x ..'時,這不適合我。 任何字節或加法運算結果與的unicode(「\ U92」)Python unicodeescape問題
>>>bytes([92])
b'\\'
>>>chr(92) + "x" + str(42)
'\\x42'
>>> str(hex(66))
'0x42'
>>>ascii(bytes([255])).replace(r"'b\", "")
File "<stdin>", line 1
ascii(bytes([255])).replace(r"'b\", "")
^
SyntaxError: invalid syntax
>>> "\x".encode('raw_unicode_escape').decode('ascii')
File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: end of string in escape sequence
「語法錯誤:在轉義序列字符串的結尾:(UNICODE錯誤)‘unicodeescape’編解碼器不能在0-2位置解碼字節」
請給你想要的輸入和輸出的例子。從你的文章中很難判斷你想要做什麼。你是說你想從42號變成「\ x42」嗎? – BrenBarn 2012-07-19 00:11:58
如果你想要的是''\ x42'',那麼這將被打印爲'B',因爲它們是同一件事。 – MRAB 2012-07-19 00:44:41
它只是我必須創建表示符號的字符串的機制的一部分,我相信下面的代碼是一個解決方案。 my_data = str(「0a」)#example (chr(92)+「x」+ my_data).encode(「utf8」)。decode('unicode-escape') – user1536379 2012-07-19 01:40:55