擅长:python、mysql、java
<p>有带有<code>\xhh</code>十六进制转义符的字符串文本。您可以使用<code>string_escape</code>编码对其进行解码:</p>
<pre><code>text.decode('string_escape')
</code></pre>
<p>请参阅<code>codecs</code>模块文档的<a href="https://docs.python.org/2/library/codecs.html#python-specific-encodings" rel="nofollow noreferrer"><em>Python Specific Encodings</em> section</a>:</p>
<blockquote>
<p><code>string_escape</code><br/>
Produce a string that is suitable as string literal in Python source code</p>
</blockquote>
<p>解码会反转编码:</p>
^{pr2}$
<p>作为一个内置的编解码器,这比使用正则表达式要快得多:</p>
<pre><code>>>> from timeit import timeit
>>> import re
>>> def unescape(text):
... return re.sub(r'\\x([0-9a-fA-F]{2})',
... lambda m: chr(int(m.group(1), 16)), text)
...
>>> value = "\\x69\\x73\\x41\\x72\\x72\\x61\\x79"
>>> timeit('unescape(value)', 'from __main__ import unescape, value')
6.254786968231201
>>> timeit('value.decode("string_escape")', 'from __main__ import value')
0.43862390518188477
</code></pre>
<p>速度快了14倍。在</p>