2

我的任务是在真正的教科书中查找 0 和 1,以便从中破译 ASCII 消息。问题是很难找到所有的 0 和 1,我觉得我跳过了很多。这完全打乱了 ASCII 转换。我尝试过的一些事情:

  • 通过检测空格(或接近空格的东西)来“同步”单词
  • 尝试仅基于字母字符(az,AZ)的假设来纠正字符
  • 尝试根据语言中字符频率的假设来纠正单词(荷兰语)

但是我仍然没有从中得到太多,主要问题是同步(新字符何时开始?)。我可能不得不再次浏览这些书籍(叹气,第三次左右),但我想知道你们是否对 ASCII 二进制流中丢失位的问题有任何其他想法?

4

1 回答 1

0
all_ones_and_zeros = re.findall("[01]",corpus_of_text)
BITS_PER_ASCII = 8 #(ascii characters are all the ordinals from 0-255 ... or 8 bits)
asciis = zip([iter(all_ones_and_zeros)]*BITS_PER_ASCII)
bins = [''.join(x) for x in asciis]
chars = [chr(int(y,2)) for y in bins]

print "MSG:",chars

我猜......它不是很清楚你的输入或预期输出是什么......

于 2016-09-28T23:52:32.587 回答