这个解码成什么,是UTF吗? ¡

What does this decode to, and is it UTF? Игорќ

我在姓名字段中收到了这个(所以它应该是一个人的名字) Ð〜горќ

可以解码成什么?是UTF-8吗?翻译成什么语言?俄语?

如果你能给我一个提示或者网站链接来解释我应该从中得到哪些有意义的字母,那将会很有帮助,谢谢 :)

这通常是 UTF-8 解释为某种单字节 Windows 编码。

        String s = "Игорќ"; // Source encoding UTF-8
        byte[] b = s.getBytes("Cp1252");
        System.out.println("" + new String(b, StandardCharsets.UTF_8));
        // Игорќ

数据可能很容易损坏。上面我用 Windows-1252 (MS Windows Latin-1) 得到了一些结果。 java 源代码必须使用编码 UTF-8 进行编译才能接受这些字符。

由于您已经将原始代码作为 Stack Overflow 粘贴到 UTF-8 编码的站点中,因此您的代码现在是完全编码为 UTF-8 的损坏数据。如果您想问自己有关数据编码的任何问题,您需要对原始原始字节使用十六进制编辑器或类似工具。

无论如何,如果你这样做:

  1. 以某种单字节编码打开文本文件(可能是您的 Windows 副本使用的 ANSI 代码页,我使用 Windows-1252)

  2. 粘贴Игорќ乱码并保存文件

  3. 将文件重新加载为 UTF-8

...你明白了:

Игорќ

所以它可能是有效的 UTF-8 错误解码。