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
Bits einlesen
- microkernel
- User
- Beiträge: 271
- Registriert: Mittwoch 10. Juni 2009, 17:27
- Wohnort: Frankfurt
- Kontaktdaten:
@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.
- microkernel
- User
- Beiträge: 271
- Registriert: Mittwoch 10. Juni 2009, 17:27
- Wohnort: Frankfurt
- Kontaktdaten:
Ich bin nicht blöd... Also wäre diese Funktion eine mögliche Lösung, um die Bits einer Datei einzulesen:BlackJack hat geschrieben:Damit hast Du auch die Bits, denn Bytes bestehen ja aus Bits.
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
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?
Wie waere es, wenn du uns mal erzaehlst was du ueberhaupt genau machen willst mit deinen ganzen Bits?
Als Bytestring eingelesen, hast Du doch die Bytes.
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".
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".