Integer binär einlesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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
    Zuletzt geändert von tobiassc; 26.03.2005, 15: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));

    Kommentar


    • #3
      kann da keiner helfen?

      Kommentar

      Lädt...
      X