<p>您可以使用<a href="https://docs.python.org/3/library/functions.html#ascii" rel="noreferrer">^{<cd1>} function</a>:</p>
<blockquote>
<p>As <code>repr()</code>, return a string containing a printable representation of an object, but escape the non-ASCII characters in the string returned by <code>repr()</code> using <code>\x</code>, <code>\u</code> or <code>\U</code> escapes.</p>
</blockquote>
<p>对于范围U+0100-U+FFFF中的Unicode码位,使用<code>\uhhhh</code>转义符;对于拉丁语1范围(U+007F-U+00FF),使用<code>\xhh</code>转义符。请注意,输出限定为有效的Python语法以重新创建字符串,因此包含引号:</p>
<pre><code>>>> print('你好')
你好
>>> print(ascii('你好'))
'\u4f60\u597d'
>>> print(ascii('ASCII is not changed, Latin-1 (åéîøü) is, as are all higher codepoints, such as 你好'))
'ASCII is not changed, Latin-1 (\xe5\xe9\xee\xf8\xfc) is, as are all higher codepoints, such as \u4f60\u597d'
</code></pre>
<p>如果您必须拥有<code>\uhhhh</code>来处理所有事情,那么您必须自己进行转换:</p>
^{pr2}$
<p>上面的函数会像<code>ascii()</code>函数那样添加引号:</p>
<pre><code>>>> print(escape_unicode('你好'))
\u4f60\u597d
>>> print(escape_unicode('ASCII is not changed, Latin-1 (åéîøü) is, as are all higher codepoints, such as 你好'))
ASCII is not changed, Latin-1 (\u00e5\u00e9\u00ee\u00f8\u00fc) is, as are all higher codepoints, such as \u4f60\u597d
</code></pre>