phpbar.de logo

Mailinglisten-Archive

[php] Hexadecimaldarstellung von Binärdateien

[php] Hexadecimaldarstellung von Binärdateien

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Mon Aug 21 13:47:57 CEST 2006


Hi Tim,

Am Montag, 21. August 2006 13:21 schrieb Tim Hildebrandt:
> > Der
> > Einsatz einer ZIP-Datei, in der die XML-Datei plus die zugehörigen
> > Binärdateien liegen, kommt in Deinem Fall aber nicht in Frage? In
> > der XML-Datei könnten sich ja dann relative Pfade befinden.
>
> Nun ich weiß nicht so richtig. Ich weiß halt nicht, ob wirklich jeder
> Rechner zippen kann/darf.

warum nicht? :-) Es gibt dafür auch PHP-Klassen, die das ohne den 
Zugriff auf Systemfunktionen erledigen.

> Da wäre ein einheitliches Austauschformat 
> wie XML eigentlich sinnvoller. Mal schauen, ich arbeite gerade erst
> mal an einigen Idden und probiere ganz unverbindlich rum. Vielleicht
> kann man das ja später noch mal implementieren.

Naja, also eine XML-Datei an sich bringt erst einmal nicht viel. Du mußt 
mit dem, mit dem Du Daten austauscht, ja auch bestimmte Vereinbarungen 
hinsichtlich der Struktur der XML-Daten treffen. Also könnte man ja 
auch vereinbaren, daß die XML-Datei und die Bilddateien in einer 
ZIP-Datei kommen. Vor dem Versand werden die Daten gezippt, nach dem 
Empfang werden sie irgendwohin entpackt. Das ist Applikationslogik. Das 
Austauschformat XML bleibt ja davon unberührt. Binärdaten würde ich 
halt, wenn es irgend geht in XML-Dateien vermeiden. Die sind oft schon 
so viel zu groß. Das Thema Parser und Speicher kann schnell wichtig 
werden.

> Mal noch ne andere Frage. Ich habe die Binärdatei (für die Versuche
> ein .jpg) Byte für Byte eingelesen [fopen("dateiname.jpg", "rb")] und
> mittels bin2hex() umgewandelt. Zwischen den Hex-Werten habe ich der
> besseren Übersicht erst einmal noch ein Leerzeichen gepackt. Aber:
> Stehe ich auf dem Schlauch oder gibt es tatsächlich keine
> Umkehrfunktion zu bin2hex()...? Wie komme ich denn rückwärts wieder
> an das Byte?

Mal ne blöde Frage: Es muß doch eigentlich nicht bin2hex sein, oder? Du 
könntest alternativ doch auch mit base64_encode verschlüsseln, wenn ich 
das richtig sehe. Dann kannst Du nämlich auch base64_decode 
verwenden. :-)

Übrigens fällt mir da gerade noch was ein: Wenn Du Binärdateien, anstatt 
sie zu referenzieren und separat mitzuschicken, in die XML-Datei 
verschlüsselt einbaust, dann mußt Du auch sicherstellen, daß jeder 
potentielle Empfänger in der Lage ist, die Daten wieder zu 
entschlüsseln! Es wäre blöd, wenn die Daten zwar in der XML-Datei 
direkt mit geliefert werden, aber niemand was mit den verschlüsselten 
Binärdaten anfangen kann. ;-)


Viele Grüße
Lutz

php::bar PHP Wiki   -   Listenarchive