Cheatah: Zahl aus einer Binärdatei lesen

Beitrag lesen

Hi,

Ich habe eine Datei, die 4 Bytes mit der Hexadezimalen 11223344h zum Testen enthält (= normale Größe einer Integerzahl). Wenn ich nun aber diese Zahl in eine Variable auslesen will, bekomme ich immer Null.

nein, Du versuchst nur, etwas völlig Falsches umzuwandeln.

$zahl = fread($f, 4);

Damit steht in Zahl ein String, bestehend aus vier Zeichen, von denen jedes im Bereich x00-xFF liegt. Die Wahrscheinlichkeit, dass eine Ziffer dabei ist, liegt pro Zeichen bei 10/256.

settype($zahl, "int");

Hier versuchst Du, einen String so zu interpretieren, dass dessen Ziffern und ggf. das "-"-Zeichen in eine Zahl umgewandelt werden.

Das Problem ist wohl, dass PHP die 4 Bytes in einen String liest und dann diesen String umwandelt anstatt diese Bytes direkt als Zahl zu interpretieren.

Richtig, da ist ja auch kein "direkt" gegeben.

Ich hoffe ihr wisst wie ich's meine...wie kann ich die Zahl richtig auslesen???

Die Bytewerte der vier Zeichen als Grundlage zur Berechnung der Zahl verwenden.

Cheatah

--
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes