擅长:python、mysql、java
<p>变量中没有反斜杠:</p>
<pre class="lang-py prettyprint-override"><code>>>> a = "\x31\xC0\x50\x68\x74\x76"
>>> print(a)
1ÀPhtv
</code></pre>
<p>以换行符为例:用Python编写<code>"\n"</code>将为您提供一个字符换行符且没有反斜杠的字符串。请参阅<a href="https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals" rel="nofollow noreferrer">string literals docs</a>以获取这些语法的完整语法</p>
<p>现在,如果你真的想用这样的反斜杠来写字符串,你可以用<code>r</code>修饰符:</p>
<pre class="lang-py prettyprint-override"><code>>>> a = r"\x31\xC0\x50\x68\x74\x76"
>>> print(a)
\x31\xC0\x50\x68\x74\x76
>>> print(a.replace('\\', ''))
x31xC0x50x68x74x76
</code></pre>
<p>但是,如果您想将常规字符串转换为十六进制编码的符号,可以逐个字符进行转换,将其转换为数字(<code>"\x31"</code>=<code>"1"</code>><code>49</code>),然后是十六进制(<code>"0x31"</code>),最后剥离第一个字符:</p>
<pre class="lang-py prettyprint-override"><code>>>> a = "\x31\xC0\x50\x68\x74\x76"
>>> print(''.join([hex(ord(x))[1:] for x in a]))
'x31xc0x50x68x74x76'
</code></pre>