Convertendo ascii russo para russo?

4

Eu tenho um documento de texto que deveria ser escrito em russo, mas parece ser ascii:

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

Como eu poderia converter isso em caracteres russos unicode legíveis?

    
por jmasterx 06.10.2011 / 22:30

2 respostas

9

Não é "ASCII" nem "ASCII russo".

Antes do Unicode ser difundido, a maioria dos sistemas de computadores usava as codificações de caracteres ISO-8859, das quais havia 16, cada uma para uma região diferente (Central da Europa, Cirílico, Grego ...). O Windows tinha suas próprias 'páginas de códigos', muito semelhantes, mas com glifos extras em intervalos não utilizados. Todas essas codificações de caracteres são de 8 bits e diferem apenas na segunda metade (128-255).

O problema com essas codificações é que é quase impossível para um programa determinar qual codificação foi usada para salvar um arquivo, a menos que ele tenha sido especificado explicitamente (como em páginas HTML; os arquivos de texto não possuem essas tags de metadados). Leia o artigo da Wikipedia sobre Mojibake para uma descrição mais detalhada.

No seu exemplo, o documento foi salvo usando Windows-1251 (Cirílico), mas seu programa o lê como se fosse Windows-1252 (Europa Ocidental), que tem personagens muito diferentes nas mesmas posições. Para o computador, parece perfeitamente bem - ele não entende idiomas ou scripts. (Existem programas que fazem análise estatística para determinar a codificação correta - alguns navegadores têm essa função.)

Existem várias maneiras de converter esse texto em Unicode:

  • Use ferramentas on-line, como este ou esta um .

  • Use seu navegador da Web:

    1. Arraste o arquivo .txt para o navegador.

    2. Em Ver → Codificação de caracteres (ou Firefox → Web Developer → Codificação de caracteres ou Chave inglesa → Ferramentas → Codificação ), escolha a codificação original correta: "Cirílico (Windows-1251)" no seu caso.

  • Use o editor de texto Notepad2 :

    1. Abra o arquivo.

    2. Em Arquivo → Codificação → Recodificar ... , escolha a codificação original correta.

  • Use o GNU iconv , com binários do Windows a partir do GnuWin32 ou Gettext para o Win32 .

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

    O Windows Notepad lê corretamente o texto codificado em UTF-8 e UTF-16.

por 06.10.2011 / 23:13
3

Você poderia converter a codificação usando um programa como iconv - mas você precisa saber qual codificação foi usado.

Parece ser o Windows-1251 de acordo com uma página da Web aleatória encontrada pelo Google.

Установка:
1) Запускаем QuidamStudioSetup3.15.exe
2) При запросе серийного номера вводим

Eu não sei russo, mas colo isso em translate.google.com sugere que o acima é plausível:

installation:
1) Run QuidamStudioSetup3.15.exe
2) When prompted, enter the serial number

Então ...

iconv -f 1252 -t UTF-8 document.txt

Deve converter seu arquivo de teste em algo que possa ser aberto e lido no Bloco de Notas

    
por 06.10.2011 / 23:10