如何让 python ''.encode('unicode_escape') 返回 ascii 的转义码?

rey*_*nlp 2 python unicode unicode-escapes

我正在尝试使用encodepython字符串的方法返回字符的unicode转义码,如下所示:

\n\n
>>> print( '\xd1\x84'.encode('unicode_escape').decode('utf8') )\n\\u0444\n
Run Code Online (Sandbox Code Playgroud)\n\n

这适用于非 ASCII 字符,但对于 ASCII 字符,它只返回 ASCII 字符本身:

\n\n
>>> print( 'f'.encode('unicode_escape').decode('utf8') )\nf\n
Run Code Online (Sandbox Code Playgroud)\n\n

期望的输出是\\u0066. 该脚本用于教学目的。

\n\n

如何获取所有字符的 unicode 十六进制代码?

\n

wim*_*wim 5

ord可以用于此,根本不需要编码/解码:

>>> '"\\U{:08x}"'.format(ord('f'))  # ...or \u{:04x} if you prefer
'"\\U00000066"'
>>> eval(_)
'f'
Run Code Online (Sandbox Code Playgroud)