2010-12-04 26 views
0

J'essaye de lire la documentation qui a été écrite dans je crois est russe, mais je ne suis pas sûr si ce que je vois est même encodé correctement. Le texte ressemble à ceci:Traduire le texte russe illisible

Ãåíåðèðóåò ìàòðèöó ÷ àéíûõ ÷ Nëo Enae â äèàïàçîíå îò -1 äî 1

(apparaît comme plusieurs des A et de o spécial)

lors de l'ouverture dans Firefox. Dans d'autres programmes, il ressemble à ceci:

-1 1

(apparaît comme plusieurs points d'interrogation)

y at-il espoir de traduire cela?

Répondre

5

Décoder comme CP1251.

>>> print u'Ãåíåðèðóåò ìàòðèöó ñëó÷àéíûõ ÷èñåë â äèàïàçîí'.encode('latin-1').decode('cp1251') 
Генерирует матрицу случайных чисел в диапазон 
+0

"Génère une matrice de nombres aléatoires dans la plage" – thejh

+0

Langue? Python? –

+0

@Johnathan: Correct. Son REPL est idéal pour les pièces uniques comme celle-ci. –

1

Vous devez déterminer lequel des multiples possibles Cyrillic a été utilisé des jeux de codes - le site lié recense plus d'une douzaine de possibilités, dont ISO 8859-5 et CP-1251 sont peut-être le plus probable.

Vous pourriez être en mesure d'obtenir l'un des sites de traduction (Babelfish ou Google, et sans doute d'autres) pour vous aider. Cependant, vous devrez peut-être traduire le jeu de codes original en UTF-8 pour le faire fonctionner - la simple copie des octets ci-dessus n'a pas fonctionné.


Lorsque vous copiez le texte original à un Mac, il a été codé en UTF-8:

0x0000: C3 83 C3 A5 C3 AD C3 A5 C3 B0 C3 A8 C3 B0 C3 B3 ................ 
0x0010: C3 A5 C3 B2 20 C3 AC C3 A0 C3 B2 C3 B0 C3 A8 C3 .... ........... 
0x0020: B6 C3 B3 20 C3 B1 C3 AB C3 B3 C3 B7 C3 A0 C3 A9 ... ............ 
0x0030: C3 AD C3 BB C3 B5 20 C3 B7 C3 A8 C3 B1 C3 A5 C3 ...... ......... 
0x0040: AB 20 C3 A2 20 C3 A4 C3 A8 C3 A0 C3 AF C3 A0 C3 . .. ........... 
0x0050: A7 C3 AE C3 AD C3 A5 20 C3 AE C3 B2 20 2D 31 20 ....... .... -1 
0x0060: C3 A4 C3 AE 20 31 0A        .... 1. 
0x0067: 

Donc, pour traduire cela avec Perl, je le premier module Encode pour convertir le UTF- 8 chaîne retour au latin-1, puis j'ai dit à Perl pour traiter le latin-1 comme si elle était CP-1251 et convertissez à nouveau en UTF-8:

#!/usr/bin/env perl 

use Encode qw(from_to); 
my $source = 'Ãåíåðèðóåò ìàòðèöó ñëó÷àéíûõ ÷èñåë â äèàïàçîíå îò -1 äî 1'; 
# from_to changes things 'in situ' 
my $nbytes = from_to($source, "utf-8", "latin-1"); 
# print "$nbytes: $source\n"; 
    $nbytes = from_to($source, "cp-1251", "utf-8"); 
print "$nbytes: $source\n"; 

la sortie est:

  • 102: Генерирует матрицу случайных чисел в диапазоне от -1 до 1

Ce qui se traduit par Babelfish:

  • 102: Il génère la matrice de nombres aléatoires dans la plage de -1 à 1

et Google se traduit par:

  • 102: Générer une matrice de nombres aléatoires compris entre -1 et 1

UTF-8 initiale à la traduction Latin-1 a été nécessaire en raison de l'installation sur mon Mac (mon terminal utilise UTF-8 par défaut, etc): YMMV.