Integer binär einlesen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Integer binär einlesen

    Servus!

    Ich hab eine kleine Datenbank mitC++ geschrieben. Die sieht prinzipiell einfach so aus, daß ints und Strings (char*) in die Datei geschrieben werden.

    Jetzt würde ich die gerne mit PHP auslesen...
    Aber wenn ich jetzt z.B. einen Integer (4 Byte) aus einem File $fp lese:
    $int = fread($fp,4); // oder so ähnlich...
    Dann steht da ein String mit 4 Zeichen drin... was mich aber auch nicht so stört!

    Meine Frage ist jetzt, wie kann ich diesen String in die entsprechende Int-Zahl umwandeln? Als kleines Beispiel: (Windows Low-Byte-Order)
    - Integer-Zahl 12:
    - 4Byte-String: "12 0 0 0" (ASCII-Werte, jeweils ein Byte, 0-255)

    Gibts da irgendwas in PHP, oder kann man das mit ein paar Tricks machen? Bzw. wie kann man das mit einem 8-Byte-double machen?

    ... Da ich mir nicht vorstellen kann, der erste zu sein, der so etwas machen will, hoffe ich (sehr), daß mir jmd. von Euch helfen kann!!!

    Danke!!

    Gruß, Tobias
    Last edited by tobiassc; 26-03-2005, 14:46.

  • #2
    double binär lesen

    Hi, ich glaub ich hab (unten) doch noch die Antwort für ints gefunden!
    Aber wie geht das mit double-werten??

    PHP Code:
    function bin2asc ($binary)
    {
       
    $val 0;

       for (
    $i strlen($binary) - 1$i >= 0$i--) {
           
    $ch substr($binary$i1);
           
    $val = ($val << 8) | ord($ch);
       }

       return 
    $val;
    }

    This was called like the following from a binary file:

    function 
    _readInt($fp)
    {
       return 
    bin2asc(fread($fp4));

    Comment


    • #3
      kann da keiner helfen?

      Comment

      Working...
      X