这是什么类型的编码? \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 位值。)
所以你有一个不正确的编码(实际上):
- 将 Unicode 代码点编码为 UTF-8
- 将 UTF-8 代码值(字节)视为 Unicode 代码点并将它们重新编码为 UTF-16。
或者:
- 将 Unicode 代码点编码为 UTF-8
- 将其解码为(比如说)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()
也是如此)。
"\u00e2\u0098\u0085"应该翻译成"★"
这是什么类型的编码? 我首先认为这是一个 unicode 转义序列,但是当我使用转换器时,我得到了“â” 我也采用了另一种方法,使用“★”符号尝试了不同的转换器来尝试获取该编码,但我似乎找不到它。
当我将 ★ 编码为 UTF-8 时,我得到 \xE2\x98\x85
。 (不是 \u00e2\u0098\u0085
。你有 16 位值,而你应该有 8 位值。)
所以你有一个不正确的编码(实际上):
- 将 Unicode 代码点编码为 UTF-8
- 将 UTF-8 代码值(字节)视为 Unicode 代码点并将它们重新编码为 UTF-16。
或者:
- 将 Unicode 代码点编码为 UTF-8
- 将其解码为(比如说)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()
也是如此)。