将 ascii 俄语转换为俄语?

jma*_*erx 4 windows-7 language unicode ascii

我有一个应该用俄语写的文本文档,但它似乎是 ascii:

Óñòàíîâêà:
1)Çàïóñêàåì QuidamStudioSetup3.15.exe
2)Ïðè çàïðîñå ñåðèéíîãî íîìåðà ââîäèì
Run Code Online (Sandbox Code Playgroud)

如何将其转换为可读的 unicode 俄语字符?

use*_*686 9

它既不是“ASCII”也不是“ASCII俄语”。

在 Unicode 普及之前,大多数计算机系统都使用 ISO-8859 字符编码,其中有 16 种,每种编码用于不同的地区(中欧、西里尔、希腊……)。Windows 有自己的“代码页”,非常相似,但在其他未使用的范围内有额外的字形。所有这些字符编码都是 8 位的,仅在后半部分 (128-255) 有所不同。

这些编码的问题在于,程序几乎不可能确定使用哪种编码来保存文件,除非明确指定(例如在 HTML 页面中;但是,纯文本文件没有此类元数据标签)。阅读维基百科关于Mojibake 的文章以获得更详细的描述。

在您的示例中,文档是使用Windows-1251(西里尔文)保存的,但您的程序读取它就像是Windows-1252(西欧)一样,它在相同位置具有非常不同的字符。对于计算机来说,它看起来完全没问题——它不理解语言或脚本。(虽然有些程序会进行统计分析以确定正确的编码,但某些 Web 浏览器具有这样的功能。)

有几种方法可以将此类文本转换为 Unicode:

  • 使用在线工具,例如this onethis one

  • 使用您的网络浏览器:

    1. .txt文件拖入浏览器。

    2. 视图?字符编码(或?Firefox的Web开发字符编码,或?扳手工具编码),选择正确的原始编码:“西里尔文(Windows-1251)”你的情况。

  • 使用Notepad2文本编辑器:

    1. 打开文件。

    2. 文件?编码?Recode...,选择正确的原始编码。

  • 使用 GNUiconv以及来自GnuWin32Gettext for Win32 的Windows 二进制文件。

    iconv -f cp1251 -t utf-8 < myfile.txt > myfile.fixed.txt

    Windows 记事本将正确读取 UTF-8 和 UTF-16 编码的文本。