Seite 1 von 1

Bits einlesen

Verfasst: Sonntag 20. November 2011, 18:13
von microkernel
Moin :)
Ich möchte gerne eine Datei verschlüsseln. Dafür muss ich eine Datei so einlesen, sodass ich nur die Bits der Datei besitze.
... Wie kann ich das machen?


Liebe Grüße,
microkernel

Re: Bits einlesen

Verfasst: Sonntag 20. November 2011, 18:24
von BlackJack
@microkernel: Die Beschreibung ist unzureichend. Nimm einfach die `read()`-Methode auf Dateiobjekten. Damit bekommst Du „Zeichen“ketten, welche die Bytewerte enthalten. Damit hast Du auch die Bits, denn Bytes bestehen ja aus Bits.

Re: Bits einlesen

Verfasst: Sonntag 20. November 2011, 18:47
von microkernel
BlackJack hat geschrieben:Damit hast Du auch die Bits, denn Bytes bestehen ja aus Bits.
Ich bin nicht blöd... Also wäre diese Funktion eine mögliche Lösung, um die Bits einer Datei einzulesen:

Code: Alles auswählen

def read_bits(filename):
    out = str()
    with open(filename, "rb") as fp:
        for char in fp.read():
            out += bin(ord(char))[2:]
    return out
    

Re: Bits einlesen

Verfasst: Sonntag 20. November 2011, 18:57
von deets
Kann ja sein, dass du nicht bloed bist - aber das was du da machst ist definitiv nicht sinnvoll. Denn wenn du was verschluesseln willst, dann helfen dir deine Bit-Strings ueberhaupt nix.

Wie waere es, wenn du uns mal erzaehlst was du ueberhaupt genau machen willst mit deinen ganzen Bits?

Re: Bits einlesen

Verfasst: Sonntag 20. November 2011, 22:31
von jerch
Als Bytestring eingelesen, hast Du doch die Bytes. :roll:
Mit bin() umgewandelt, erhältst Du einen String, der die Bitposition als 1/0-Char darstellt, wobei er mit der ersten 1 beginnt und Dir führende Nullen verloren gehen. Daher führt Deine Variante nicht zur Bitfolge der Bytefolge.

Welches Verfahren willst Du denn umsetzen? Je nach Verfahren, werden doch in der Regel Bytes bzw. Blöcke von Bytes verarbeitet. Und da bist Du mit dem Bytestring näher dran als mit Deinem "Bitstring".