这是什么类型的编码? \u00e2\u0098\u0085应该翻译成★

What type of encoding is this? \u00e2\u0098\u0085 it is supposed to translate into ★

"\u00e2\u0098\u0085"应该翻译成"★"

这是什么类型的编码? 我首先认为这是一个 unicode 转义序列,但是当我使用转换器时,我得到了“â” 我也采用了另一种方法,使用“★”符号尝试了不同的转换器来尝试获取该编码,但我似乎找不到它。

当我将 ★ 编码为 UTF-8 时,我得到 \xE2\x98\x85。 (不是 \u00e2\u0098\u0085。你有 16 位值,而你应该有 8 位值。)

所以你有一个不正确的编码(实际上):

  1. 将 Unicode 代码点编码为 UTF-8
  2. 将 UTF-8 代码值(字节)视为 Unicode 代码点并将它们重新编码为 UTF-16。

或者:

  1. 将 Unicode 代码点编码为 UTF-8
  2. 将其解码为(比如说)LATIN-8

但是无论您怎么看,这都是 不正确 编码/解码步骤序列的结果……某处。

不清楚 \u00e2\u0098\u0085 字符串的来源。但是,运行 Python 提示中的以下内容给出了期望的结果:

b"\u00e2\u0098\u0085".decode('unicode-escape').encode('latin1').decode()
'★'
"\u00e2\u0098\u0085".encode().decode('unicode-escape').encode('latin1').decode()
'★'

请注意,.encode() 等价于 .encode('utf-8').decode() 也是如此)。