PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Integer binär einlesen (https://www.php-resource.de/forum/php-developer-forum/52372-integer-binaer-einlesen.html)

tobiassc 26-03-2005 04:29

double 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

tobiassc 26-03-2005 04:32

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));



tobiassc 26-03-2005 16:46

kann da keiner helfen?


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:26 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG