Unicode 翻译不可读的俄语文本

Unicode 翻译不可读的俄语文本,unicode,character-encoding,translation,Unicode,Character Encoding,Translation,我试图阅读用俄语编写的文档,但我不确定我看到的是否正确编码。文本如下所示: 第二部分为第二部分,第二部分为第三部分,第三部分为第三部分,第三部分为第三部分,第三部分为第三部分 (显示为几个特殊的A和o) 在Firefox中打开时。在其他程序中,它如下所示: ���������� ������� ��������� ����� � ��������� �� -1.�� 一, (显示为几个问号) 翻译这个有希望吗?解码为CP1251 >>> print u'Ãåíåðèðóåò ì

我试图阅读用俄语编写的文档,但我不确定我看到的是否正确编码。文本如下所示:

第二部分为第二部分,第二部分为第三部分,第三部分为第三部分,第三部分为第三部分,第三部分为第三部分

(显示为几个特殊的A和o)

在Firefox中打开时。在其他程序中,它如下所示:

���������� ������� ��������� ����� � ��������� �� -1.�� 一,

(显示为几个问号)

翻译这个有希望吗?

解码为CP1251

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

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

您需要确定使用了多个可能的代码集中的哪一个-链接站点列出了十几种可能性,其中ISO 8859-5和CP-1251可能是最有可能的

您可能会得到其中一个翻译网站(或者,毫无疑问,还有其他网站)的帮助。然而,您可能必须将原始代码集转换为UTF-8才能使其工作——简单地复制上面的字节是行不通的


将原始文本复制到Mac时,其编码为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:
因此,为了用Perl进行翻译,我首先使用模块将UTF-8字符串转换回Latin-1,然后告诉Perl将Latin-1视为CP-1251,并将其转换回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";
输出为:

  • 102:Гчччччччччзззззг-1
哪种贝贝鱼翻译成:

  • 102:它生成-1到1范围内的随机数矩阵
谷歌的翻译是:

  • 102:生成一个从-1到1的随机数矩阵

最初的UTF-8到拉丁语-1翻译是必需的,因为我的Mac上的设置(我的终端默认使用UTF-8等):YMMV。

您需要确定使用了多个可能的代码集中的哪一个-链接站点列出了十几种可能,其中ISO 8859-5和CP-1251可能是最有可能的

您可能会得到其中一个翻译网站(或者,毫无疑问,还有其他网站)的帮助。然而,您可能必须将原始代码集转换为UTF-8才能使其工作——简单地复制上面的字节是行不通的


将原始文本复制到Mac时,其编码为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:
因此,为了用Perl进行翻译,我首先使用模块将UTF-8字符串转换回Latin-1,然后告诉Perl将Latin-1视为CP-1251,并将其转换回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";
输出为:

  • 102:Гчччччччччзззззг-1
哪种贝贝鱼翻译成:

  • 102:它生成-1到1范围内的随机数矩阵
谷歌的翻译是:

  • 102:生成一个从-1到1的随机数矩阵

由于我的Mac上的设置(我的终端默认使用UTF-8等),需要将UTF-8翻译成拉丁文-1:YMMV。

“生成范围内的随机数矩阵”@Johnathan:Correct。它的REPL非常适合这样一次性使用。谢谢,这正是我所需要的。“生成范围内的随机数矩阵”@Johnathan:Correct。它的REPL对于像这样的一次性产品很好。谢谢,正是我所需要的。