Bitweises umdrehen einer Datei: 010011->110010
- Frosch6669
- Beiträge: 163
- Registriert: 02.07.2003 23:16:49
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Hamburg
-
Kontaktdaten:
Re: Bitweises umdrehen einer Datei: 010011->110010
was ist eine "windows cd" ?
- Frosch6669
- Beiträge: 163
- Registriert: 02.07.2003 23:16:49
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Hamburg
-
Kontaktdaten:
Re: Bitweises umdrehen einer Datei: 010011->110010
vielen dank für die vorschläge, also mit dem ersten prog verstehe ich nicht ganz was es genau macht, aber es läuft (das phyton script).
das zweite ist ne c datei (oder irre ich mich jetzt), hab sie versucht zu kompilieren, aber geht nicht(wie mach ich das?)
die letzten vorschläge sind gut, jedoch kann ich sie selbst nicht umsetzten da ich nur in der theorie programieren kann (schäm
)
hat jemand also vieleicht ne voll funktionierende lösung?
gruß
frosch
das zweite ist ne c datei (oder irre ich mich jetzt), hab sie versucht zu kompilieren, aber geht nicht(wie mach ich das?)
die letzten vorschläge sind gut, jedoch kann ich sie selbst nicht umsetzten da ich nur in der theorie programieren kann (schäm
![traurig :-(](./images/smilies/icon_sad.gif)
hat jemand also vieleicht ne voll funktionierende lösung?
gruß
frosch
Re: Bitweises umdrehen einer Datei: 010011->110010
Frosch6669 hat geschrieben:das zweite ist ne c datei (oder irre ich mich jetzt), hab sie versucht zu kompilieren, aber geht nicht(wie mach ich das?)
Code: Alles auswählen
gcc -o Programmdatei Quellcode.c
Das Python-Programm von yeti funktioniert, ist jedoch ziemlich langsam.Frosch6669 hat geschrieben:hat jemand also vieleicht ne voll funktionierende lösung?
Das C-Programm von Spasswolf funktioniert und ist deutlich schneller, schreibt bisher aber nicht in eine Datei.
Gruß,
Daniel
Re: Bitweises umdrehen einer Datei: 010011->110010
So, ich habe mir das C-Programm von Spasswolf mal genauer angesehen und einen kleinen Fehler gefunden:
In der for-Schleife muss es "i = filesize-1" heißen, da sonst am Anfang der Ausgabe fälschlicherweise zusätzlich 8 Bit geschrieben werden (welche jeweils 1 sind bzw. in der Ausgabe eben ein F) und die Ausgabe 8 Bit zu lang wird.
Ich habe diesen kleinen Fehler beseitigt und die Ausgabe erfolgt jetzt direkt in eine Datei (mit der Endung .mirror).
Außerdem habe ich einige kleine Info-Ausgaben eingebaut und Unterstützung für große Dateien hinzugefügt.
Spasswolf, ich hoffe du hast da nichts dagegen
:
http://nopaste.debianforum.de/13754
edit:
Fehlermeldung korrigiert.
Gruß,
Daniel
In der for-Schleife muss es "i = filesize-1" heißen, da sonst am Anfang der Ausgabe fälschlicherweise zusätzlich 8 Bit geschrieben werden (welche jeweils 1 sind bzw. in der Ausgabe eben ein F) und die Ausgabe 8 Bit zu lang wird.
Ich habe diesen kleinen Fehler beseitigt und die Ausgabe erfolgt jetzt direkt in eine Datei (mit der Endung .mirror).
Außerdem habe ich einige kleine Info-Ausgaben eingebaut und Unterstützung für große Dateien hinzugefügt.
Spasswolf, ich hoffe du hast da nichts dagegen
![Wink ;-)](./images/smilies/icon_wink.gif)
http://nopaste.debianforum.de/13754
edit:
Fehlermeldung korrigiert.
Gruß,
Daniel
Zuletzt geändert von Danielx am 28.10.2008 23:32:49, insgesamt 1-mal geändert.
Re: Bitweises umdrehen einer Datei: 010011->110010
hy
Deine Freunde sind trac und rev.
Kleines Beispiel falls ich das so richtig verstanden habe.
Ausgabe spiegeln 0001 > 1000
und die Zeilen sollen gestürtzt werden also 1 ist letzte und letzte 1 etc
Habs mal durchgespielt
ebenso kannst das in einen Zug auch in eine neue Datei schreiben
ich hoffe ich hab das so richtig verstanden
Tschau
El-Biero
Deine Freunde sind trac und rev.
Kleines Beispiel falls ich das so richtig verstanden habe.
Ausgabe spiegeln 0001 > 1000
und die Zeilen sollen gestürtzt werden also 1 ist letzte und letzte 1 etc
Habs mal durchgespielt
Code: Alles auswählen
[elbiero@Tuxbox Zahlen]$ cat Zahl1.txt
111111100
100000001
111101111
111101000
011001000
[elbiero@Tuxbox Zahlen]$ cat Zahl1.txt | tac |rev
000100110
000101111
111101111
100000001
001111111
Code: Alles auswählen
[elbiero@Tuxbox Zahlen]$ cat Zahl1.txt | tac |rev > NeuZahl.txt
[elbiero@Tuxbox Zahlen]$ cat NeuZahl.txt
000100110
000101111
111101111
100000001
001111111
[elbiero@Tuxbox Zahlen]$
Tschau
El-Biero
Re: Bitweises umdrehen einer Datei: 010011->110010
Nein, denn du arbeitest auf Zeichen-Ebene, Frosch6669 hat aber nach einer Lösung auf Bit-Ebene gefragt:El-Biero hat geschrieben:ich hoffe ich hab das so richtig verstanden
Diese ZeichenketteFrosch6669 hat geschrieben:es handelt sich um binärdaten! keine buchstaben kein ascii und keine zeilenweise lesbaren dinge.
Code: Alles auswählen
12345
Code: Alles auswählen
00110001 00110010 00110011 00110100 00110101
Code: Alles auswählen
10101100 00101100 11001100 01001100 10001100
Code: Alles auswählen
¬,ÌL.
Daniel
- Frosch6669
- Beiträge: 163
- Registriert: 02.07.2003 23:16:49
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Hamburg
-
Kontaktdaten:
Re: Bitweises umdrehen einer Datei: 010011->110010
Hallo,
@ Danielx: super Programm. Es läuft bei mir seit ca 40 minuten und hat ca 5 gb umgedreht. mein intel t9500 ist 72°C warm..und das ist dann energiesparend (@intel) ?...
ich habe es vorher mal an nem song ausprobiert hin und wieder zurück klappt.
El-Biero: danke für die einfache lösung, aber sie ist zu einfach, siehe letzten post..
wenn alles glatt läuft poste ich mal morgen das ergebnis...
grüße an alle
frosch
@ Danielx: super Programm. Es läuft bei mir seit ca 40 minuten und hat ca 5 gb umgedreht. mein intel t9500 ist 72°C warm..und das ist dann energiesparend (@intel) ?...
ich habe es vorher mal an nem song ausprobiert hin und wieder zurück klappt.
El-Biero: danke für die einfache lösung, aber sie ist zu einfach, siehe letzten post..
wenn alles glatt läuft poste ich mal morgen das ergebnis...
grüße an alle
frosch
- Frosch6669
- Beiträge: 163
- Registriert: 02.07.2003 23:16:49
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Hamburg
-
Kontaktdaten:
Re: Bitweises umdrehen einer Datei: 010011->110010
Ach ja,
weiß zufällig jemand wie ich zwei dateien zusammenklebe? so 0110 + 1001 = 01101001
weiß zufällig jemand wie ich zwei dateien zusammenklebe? so 0110 + 1001 = 01101001
- Frosch6669
- Beiträge: 163
- Registriert: 02.07.2003 23:16:49
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Hamburg
-
Kontaktdaten:
Re: Bitweises umdrehen einer Datei: 010011->110010
ha riesendatei ist umgedreht, jetzt kann ich endlich schlafen....gn8
Re: Bitweises umdrehen einer Datei: 010011->110010
Das Programm ist nicht wirklich optimiert, außerdem könnte man noch Compiler-Optimierung (z.B. -O3) anwenden.Frosch6669 hat geschrieben:Es läuft bei mir seit ca 40 minuten und hat ca 5 gb umgedreht. mein intel t9500 ist 72°C warm..und das ist dann energiesparend (@intel) ?...
Frosch6669 hat geschrieben:weiß zufällig jemand wie ich zwei dateien zusammenklebe? so 0110 + 1001 = 01101001
Code: Alles auswählen
cat Datei1 Datei2 > zusammen
Daniel
Re: Bitweises umdrehen einer Datei: 010011->110010
Arbeitet cat denn wirklich bitweise? Ich denke, mit cat haben wir wieder das o.g. Problem, dass es zeichenweise arbeitet.Danielx hat geschrieben:Frosch6669 hat geschrieben:weiß zufällig jemand wie ich zwei dateien zusammenklebe? so 0110 + 1001 = 01101001Code: Alles auswählen
cat Datei1 Datei2 > zusammen
Beste Grüße, Kokopelli
--------------------------
"One must marvel that Godzilla never died laughing" (William Tsutsui)
--------------------------
"One must marvel that Godzilla never died laughing" (William Tsutsui)
Re: Bitweises umdrehen einer Datei: 010011->110010
Nein.Kokopelli hat geschrieben:Arbeitet cat denn wirklich bitweise?
Das ist in diesem Fall logischerweise egal.Kokopelli hat geschrieben:Ich denke, mit cat haben wir wieder das o.g. Problem, dass es zeichenweise arbeitet.
Denke einfach mal etwas darüber nach.
![Wink ;-)](./images/smilies/icon_wink.gif)
Gruß,
Daniel
-
- Beiträge: 3472
- Registriert: 30.11.2005 10:32:22
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Wald
Re: Bitweises umdrehen einer Datei: 010011->110010
@Frosch6669: Und wie schreibst und liest du nun rückwärts auf eine Cd/DvD?
Zuletzt geändert von Spasswolf am 29.10.2008 09:46:21, insgesamt 1-mal geändert.
-
- Beiträge: 22
- Registriert: 22.10.2008 14:41:03
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Re: Bitweises umdrehen einer Datei: 010011->110010
Ich habe den Thread jetzt auch mit Verwunderung und Interesse gelesen. Bleibt die Frage: geht es um ein reales Problem, oder ist das eine Hausarbeit? Würde mich wirklich interressieren, denn ich kann mir einfach nicht vorstellen, welches reale Problem damit gelöst werden soll...
Re: Bitweises umdrehen einer Datei: 010011->110010
Du scheinst recht zu haben, aber: Da wir nicht wissen, welche Art von Daten wir vor uns haben, ist es gut möglich, dass die zu konkatenierenden Dateien eine Länge aufweisen, die für Schriftzeichen keinen Sinn ergibt, zB eine Länge, bei der 9 Zeichen und ein Rest herauskommt, der als Zeichen interpretiert keinen Sinn ergibt... An der Stelle müsste man dann prüfen, wie cat damit umgeht. Ignorieren und auslassen wäre schlecht, Fehler ignorieren und unvollständige Sequenz anhängen wäre gut, Sequenz auffüllen wäre ganz schlecht.Danielx hat geschrieben:Nein.Kokopelli hat geschrieben:Arbeitet cat denn wirklich bitweise?Das ist in diesem Fall logischerweise egal.Kokopelli hat geschrieben:Ich denke, mit cat haben wir wieder das o.g. Problem, dass es zeichenweise arbeitet.
Denke einfach mal etwas darüber nach.![]()
Aber der Sinn und Zweck der Aktion würde mich auch mal interessieren.... Das einzig mir bekannte Medium, das "rückwärts", also von aussen nach innen beschrieben und gelesen wird, sind die optischen Medien für den Nintendo Gamecube. Aber irgendwie glaube ich nicht, dass es hier um veraltete Konsolenhardware geht...
Beste Grüße, Kokopelli
--------------------------
"One must marvel that Godzilla never died laughing" (William Tsutsui)
--------------------------
"One must marvel that Godzilla never died laughing" (William Tsutsui)
-
- Beiträge: 3472
- Registriert: 30.11.2005 10:32:22
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Wald
Re: Bitweises umdrehen einer Datei: 010011->110010
Wie meinst du das? Das die Datei keine ganzahlige Bytelänge hat? Solche Dateien gibt es nicht.... ,dass die zu konkatenierenden Dateien eine Länge aufweisen, die für Schriftzeichen keinen Sinn ergibt, zB eine Länge, bei der 9 Zeichen und ein Rest herauskommt, der als Zeichen interpretiert keinen Sinn ergibt...
Re: Bitweises umdrehen einer Datei: 010011->110010
Normalerweise nicht, aber wir wissen nach wie vor nicht, woher die Daten stammen und ob sie nicht vorher auf abstruse Weise geteilt wurden.Spasswolf hat geschrieben:Wie meinst du das? Das die Datei keine ganzahlige Bytelänge hat? Solche Dateien gibt es nicht.... ,dass die zu konkatenierenden Dateien eine Länge aufweisen, die für Schriftzeichen keinen Sinn ergibt, zB eine Länge, bei der 9 Zeichen und ein Rest herauskommt, der als Zeichen interpretiert keinen Sinn ergibt...
Beste Grüße, Kokopelli
--------------------------
"One must marvel that Godzilla never died laughing" (William Tsutsui)
--------------------------
"One must marvel that Godzilla never died laughing" (William Tsutsui)
-
- Beiträge: 22
- Registriert: 22.10.2008 14:41:03
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Re: Bitweises umdrehen einer Datei: 010011->110010
Ich ahne schon, was Du meinst. Aber im Dateisystem gibt es keine halben Bytes. Im Hauptspeicher ja auch nicht. Im Zweifelsfalle stehen da irgendwo padding bits. Die werden dann halt mit invertiert... Aber wie gesagt, ohne zu wissen warum...
Prinzipiell lässt sich natürlich jeder Bitstrom invertieren ("rumdrehen"). Wenn Du ihn dann nochmal invertierst, dann hast Du wieder den Orginalstrom. Ist so ähnlich wie ROT13 auf Buchstabenebene. Aber eine Anwendung (ausser "Kindergarten-Kryptographie") fällt mir eben nicht ein...
Prinzipiell lässt sich natürlich jeder Bitstrom invertieren ("rumdrehen"). Wenn Du ihn dann nochmal invertierst, dann hast Du wieder den Orginalstrom. Ist so ähnlich wie ROT13 auf Buchstabenebene. Aber eine Anwendung (ausser "Kindergarten-Kryptographie") fällt mir eben nicht ein...
Re: Bitweises umdrehen einer Datei: 010011->110010
Das würde mich jetzt auch brennend interessieren.Spasswolf hat geschrieben:@Frosch6669: Und wie schreibst und liest du nun rückwärts auf eine Cd/DvD?
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl
Re: Bitweises umdrehen einer Datei: 010011->110010
"brennend" ...cirrussc hat geschrieben:Das würde mich jetzt auch brennend interessieren.Spasswolf hat geschrieben:@Frosch6669: Und wie schreibst und liest du nun rückwärts auf eine Cd/DvD?
![Laughing :lol:](./images/smilies/icon_lol.gif)
Treffer!
Versenkt!
Re: Bitweises umdrehen einer Datei: 010011->110010
Ja, das würde mich auch interessieren, bisher gab es ja noch keine plausible Antwort.Kokopelli hat geschrieben:Aber der Sinn und Zweck der Aktion würde mich auch mal interessieren....
Aber ich wollte schon immer mal eine Datei spiegeln, nur so zum Spaß.
![Smile :-)](./images/smilies/icon_smile.gif)
Gruß,
Daniel