我想用 UTF-8 编码一个字符串并单独查看相应的 UTF-8 字节。在 Python REPL 中,以下似乎工作正常:
>>> unicode('©', 'utf-8').encode('utf-8')
'\xc2\xa9'
请注意,我在这里使用U+00A9 COPYRIGHT SIGN作为示例。'\xC2\xA9'
看起来很接近我想要的——一个由两个单独的代码点组成的字符串:U+00C2 和 U+00A9 。(当 UTF-8 解码时,它会返回原始字符串,'\xA9'
.)
然后,我希望将 UTF-8 编码的字符串转换为与 JSON 兼容的字符串。但是,以下似乎并没有做我想要的:
>>> import json; json.dumps('\xc2\xa9')
'"\\u00a9"'
请注意,它会生成一个包含 U+00A9(原始符号)的字符串。相反,我需要 UTF-8 编码的字符串,它看起来像"\u00C2\u00A9"
有效的 JSON。
TL;DR 我怎样才能'©'
变成"\u00C2\u00A9"
Python?我觉得我遗漏了一些明显的东西——有没有内置的方法可以做到这一点?