2012-07-13 77 views
4

在第12季第07集“大钱刺客”辛普森一家,我注意到几年前俄罗斯飞船上的“乱码”标志。今天随机,我决定搜索,看看是否有人解码他们,但无法找到任何结果。辛普森一家的这个mojibake/krakozyabry说什么?

Screenshot of episode where two Russians argue in a spaceship. Two signs showing gibberish on walls can be seen.

我怀疑这是KOI8-R显示为任一的Latin-1或Windows-1252。我能抓住的形象不是很清楚。

我有变为乱码的两种解释如本Python 3的代码解释互动:

>>> 'Ï‹ÏËÏÁ ¿Ä ÄÏÍ.†.'.encode('windows-1252').decode('koi8_r') 
'о▀окоа ©д дом.├.' 
>>> 'Ï<ÏËÏÁ ¿Ä ÄÏÍ.×.'.encode('latin1').decode('koi8_r') 
'о<окоа ©д дом.в.' 

综观上Wikpedia代码图表,我也弄不清什么是“<”样和“+ “像符号是。我考虑过使用一些拼写检查字典来强制使用它,但我宁愿先获得一些帮助。

原文还是可以恢复原文?或者它真的是胡言乱语?

(我很感激,如果有人知道它说什么,但我想看看它可以通过一些代码解决这个问题。)

编辑:一个天真的脚本:

codec_list = ['ascii', 'big5', 'big5hkscs', 'cp037', 'cp424', 'cp437', 
'cp500', 'cp720', 'cp737', 'cp775', 'cp850', 'cp852', 'cp855', 'cp856', 
'cp857', 'cp858', 'cp860', 'cp861', 'cp862', 'cp863', 'cp864', 'cp865', 
'cp866', 'cp869', 'cp874', 'cp875', 'cp932', 'cp949', 'cp950', 'cp1006', 
'cp1026', 'cp1140', 'cp1250', 'cp1251', 'cp1252', 'cp1253', 'cp1254', 
'cp1255', 'cp1256', 'cp1257', 'cp1258', 'euc_jp', 'euc_jis_2004', 
'euc_jisx0213', 'euc_kr', 'gb2312', 'gbk', 'gb18030', 'hz', 'iso2022_jp', 
'iso2022_jp_1', 'iso2022_jp_2', 'iso2022_jp_2004', 'iso2022_jp_3', 
'iso2022_jp_ext', 'iso2022_kr', 'latin_1', 'iso8859_2', 'iso8859_3', 
'iso8859_4', 'iso8859_5', 'iso8859_6', 'iso8859_7', 'iso8859_8', 
'iso8859_9', 'iso8859_10', 'iso8859_13', 'iso8859_14', 'iso8859_15', 
'iso8859_16', 'johab', 'koi8_r', 'koi8_u', 'mac_cyrillic', 'mac_greek', 
'mac_iceland', 'mac_latin2', 'mac_roman', 'mac_turkish', 'ptcp154', 
'shift_jis', 'shift_jis_2004', 'shift_jisx0213', 'utf_32', 'utf_32_be', 
'utf_32_le', 'utf_16', 'utf_16_be', 'utf_16_le', 'utf_7', 'utf_8', 
'utf_8_sig',] 


source_str_list = ['Ï‹ÏËÏÁ ¿Ä ÄÏÍ.†.', 'Ï<ÏËÏÁ ¿Ä ÄÏÍ.×.'] 

for mangled_codec in codec_list: 
    for correct_codec in codec_list: 
     decoded_str_list = [] 

     for s in source_str_list: 
      try: 
       decoded_str_list.append(s.encode(mangled_codec 
        ).decode(correct_codec)) 
      except (UnicodeEncodeError, UnicodeDecodeError): 
       continue 

     if decoded_str_list: 
      print(mangled_codec, correct_codec, decoded_str_list) 
+0

假设windows-1252的“<”符号是'<'='\ u2039',而“+”符号是'†'='\ u2020'。虽然不能说出点是什么。 此外,请尝试其他西里尔文编码:Windows-1251,ISO-8859-5,MacCyrillic,IBM855,IBM866和PTCP154。 – dan04 2012-08-10 01:50:43

回答

0
Ï‹ÏËÏÁ¿ÄÄÏÍ.†. 

             gbk 15 5 '蠇纤狭磕南' 
           cp932, sjis 31 11 'マ均ヒマチソトトマヘ.' 
            cp1250 28 14 'Ď‹ĎËĎÁżÄÄĎÍ.†.' 
            cp1251 28 14 'П‹ПЛПБїДДПН.†.' 
            cp1256 28 14 'د‹دثدء؟ؤؤدح.†.' 
            cp1257 28 14 'Ļ‹ĻĖĻĮæÄÄĻĶ.†.' 
            geostd8 37 14 'ო‹ოლობ¿ეეონ.†.' 

Ï<ÏËÏÁ ¿Ä ÄÏÍ 

            euckr 31 11 '횕<횕횏횕횁쩔횆횆횕횒' 
             gbk 31 11 '脧<脧脣脧脕驴脛脛脧脥' 

变为乱码西里尔通常涉及 'ETH':

АБВГҐДЂ - >ÐБВГÒДЂ

Mojibaking Greek获得ÎÏ