Ich versuche, diese Datei zu entschlüsseln, die in IBM437
in lesbare UTF
ich an dem Punkt bin, ist, wo ich denke, ich habe es fast, aber ich bin immer ein ArgumentError
wo die Zeichenfolge nul
Bytes enthält Ich bin mir bewusst, wie zu gsub
heraus nul
Bytes mit: .gsub("\u0000", '')
aber ich kann nicht herausfinden, wo gsub
die Bytes aus.String enthält NUL Bytes
Hier ist die Quelle:
def gather_info
file = './lib/SETI_message.txt'
File.read(file).each_line do |gather|
packed = [gather].pack('b*')
ec = Encoding::Converter.new(packed, 'utf-8')
encoding_forced = packed.encode(ec)
File.open('packed.txt', 'a+'){ |s| s.puts(encoding_forced.gsub("\u0000", '')) }
end
end
gather_info
Und hier ist der file
Kann mir jemand sagen, was falsch ich hier tue?
Warum nicht die 'encoding' Option auf Ihrer' File' lesen? – tadman
@tadman Was meinst du? – 13aal
Das sieht nach [ziemlich spaßige Herausforderung] aus (http://www2.mps.mpg.de/homes/heller/downloads/files/SETI_rules.txt), aber Sie sind auf dem falschen Weg, als IBM437 zu dekodieren. Schauen Sie sich die Hinweise an. – matt