2016-09-28 56 views
2

我已經給出了一個任務,在真正的教科書中查找0和1以解密ASCII消息。問題是,很難找到所有的0和1,我感覺我跳過了很多。這完全混淆了ASCII轉換。有些事情我想:帶缺失位的Ascii流(無奇偶校驗)

  • 「同步」字通過檢測空間(或東西接近有一個空格)
  • 試圖僅基於字母字符的假設(包括AZ,az)糾正字符
  • 試圖糾正基於字符的頻率假設的語言(荷蘭語)

但我仍然沒有得到很多的主要問題是同步(何時開始一個新的字符?) 。我可能不得不再次瀏覽這些書籍(嘆息,第三次左右),但我想知道你們是否對ASCII二進制流中丟失位的問題有任何其他想法?

+1

這個問題沒有意義在目前的形式......請提供(小樣本)例如輸入和期望的輸出(至少...它可能是一個好主意,張貼一些代碼,你已經嘗試過,沒有給出正確的結果,以及結果是錯誤的方式) –

+2

我不知道什麼你的意思是「在一本真實的教科書中」---你是否正在掃描一本印刷書籍(在紙上),並以某種方式從掃描儀設備(或掃描的圖像或數據文件)中丟失一些位?您是否掃描一本書並尋找打印的「0」和「1」字符,但掃描儀沒有記錄所有字符(或將它們錯誤地標識爲大寫字母O或小寫字母L)?或者,您是從一個完整的文件開始代表一本書的內容(PDF?ASCII?LaTeX?XML?位圖?),並以某種方式無法獲得您期望的所有數據? –

回答

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 

我想......它不是很清楚你的輸入或預期輸出是什麼...