![]() |
Binäre Datei erstellen
Hi,
ich würde gerne wissen, wie ich eine Datei auf binärer Ebene erstellen kann... (also nur 0/1 schreiben - nur 1 bit pro Zeichen) |
Re: Binäre Datei erstellen
Du musst sie schon Byteweise beschreiben ;)
Dann kannst du mit den Bitwise Operatoren deine Bits setzen, und somit bitweise bearbeiten ;) |
Re: Binäre Datei erstellen
Und wie erstelle ich eine Datei (binär), die z.B. folgendes enthält?
000111000 |
Re: Binäre Datei erstellen
Delphi-Quellcode:
var fs: TFileStream;
b: Byte; begin fs:=TFileStream.Create('Dateiname', fmOpenWrite, fmShareDenyWrite); try b:=$38; fs.Write(b, 1); finally fs.Free; end; end; |
Re: Binäre Datei erstellen
Jede Datei ist binär. Auf der untersten Ebene sind alle Dateien gleich und bestehen letztendlich nur aus nullen und einsen. Erst die Software entscheidet, wie die Daten interpretiert werden, ob als Textdatei, Bitmap oder MP3. Öffne mal eine Textdatei und eine MP3 Datei mit dem Hex-Editor und du siehst, was ich meine.
|
Re: Binäre Datei erstellen
...wobei es unter manchen Betriebssystemen (Unixoide, IIRC) auch ein Flag gibt, das angibt, ob eine Datei jetzt binär oder Text ist. Unter Windows aber zumindest nicht.
|
Re: Binäre Datei erstellen
Nein, der Flag, sagt nur, wie die Daten interpretiert werden sollen.
Code:
Sage ich jetzt, dass soll eine Textdatei sein, dann kommt dabei "ABC" raus. sage ich, das soll ein Bild sein, dann beschreiben die drei Werte eventuell die Farbwerte eines Pixels.
$41%42$43
|
Re: Binäre Datei erstellen
Hallo,
gibt es eine Möglichkeit das Ganze umzudrehen, also so das man die einzelnen Bits der Datei auslesen kann? Gruß snake41300 |
Re: Binäre Datei erstellen
jupp, du ließt die Datei byteweise (oder in größeren Stücken) aus und zerlegst es dann z.B. via Masken (Bitoperatoren) in einzelne Bits.
|
Re: Binäre Datei erstellen
Hast du da ein Beispiel dafür, weil ich hatte es schon mit filestream.read versucht aber da kommt immer nur eine 0 zurück
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz