Binärdaten

Sniff

Mitglied
Ich möchte Zeichenketten in Binärdaten um rechnen.
Ich meine ich hätte da eine Funktion gesehen könnt ihr mir da helfen?
 
Zuletzt bearbeitet:
meinst Du?

...wenn Du jedes einzelne Zeichen umwandeln willst, dann könnte

decbin(ord(substr($text,$start,1)))

funktionieren. Diese Befehlsfolgre einfach in einer Schleife für alle Zeichen des Strings durchlaufen lassen. Vielleicht gibt es ja noch was einfacheres, aber ein Anfang ist es allemal ;-)

ufóman2
 
etwas mehr erkärung bitte.

Was die Variable $text darstellen soll kann ich mir noch so in etwa denken:rolleyes:, aber was kommt in die Variable $start???
 
!!!

$start ist der Beginn, ab dem der Substring ermittelt werden soll (siehe "substr") :-))) Über nachfolgende Schleife kannst Du $start entsprechend setzen:

for ($start=0;$start<=strlen($text);$start++) {...}

Damit kannst Du dann jeden einzelnen Char des Strings durch-steppen...:-)))

ufoman2
 
Ok danke soweit ist ok
aber ähm kannste mir noch sagen wie ich den Script dementsprechend wieder dekodiere?
 
ahhhhh :-))))

...hab ich mir's doch gedacht :-))) Aber eigentlich ist das zuuuu einfach...will ja schliesslich nicht Dein ganzes Skript vorkauen :-)))

Anstatt DECBIN lautet die Rück-Konvertierung BINDEC. Einfach, oder? ;-) Da ich aber nicht weiss, wie Du die Binärdaten gzuvor espeichert hast, musst Du die Trennung der Binär-Strings durch einen geeigneten Mechanismus regeln. Anderherum war es ja einfach, da ja jeweils nur ein Zeichen zu konvertieren war. Bei Binärdaten sieht das ein bischen anders aus (variable Länge). Es sei denn Du hast die Daten schon mit einer festen Breite gespeichert gehabt...

ufoman2
 
Ok mal nachdenken. Ein zeichen ist 1Byte also 8Bit sprcih 81 und 0 wie verklicker ich dem nu das der immer acht Zeichen gleichzeitig decodieren soll?
 
nicht aufgeben ;-)

..einen Ansatz habe ich oben schon geschrieben: nimm einfach wieder substr(), diesmal wird $start in der Schleife aber immer um 8 erhöht. Ferner muss substr() darauf getrimmt werden, dass er 8 Zeichen lesen soll. Nah, welcher Parameter ist das? :-))) (anstatt 1 => 8 ;-) )

Also im Prinzip die gleiche Routine, nur mit anderen Parameter. Aber das trifft auch nur zu, wenn Du die 8 Binärzeichen immer aneinander gehängt hast... durchhalten, bald ist es geschafft :-)))

ufoman2
 
Zurück