2017-02-10 1 views
0
$fp = fopen('./test.dat','a+'); 
$a = 123123; 
$b = ($a & 0xFF00) >> 8; 
$b = pack('c',$b); 
fwrite($fp,$b) 
fclose($fp); 

konvertieren Wenn ich diesen Code arbeite, bekomme ich vielleicht Wert 'e0', aber ich bekomme 'ce b0'. Was ist von Bedeutung für diesen Code?pack() funktioniert nicht in meinem PHP. Ich muss int in Byte

+0

Wo ist dein $ c? –

+0

Nur Tippfehler .. – WKcho

Antwort

0

-Pack wird das Zeichen erhalten, müssen Sie dechex verwenden, um die E0 wie folgt zu erhalten: hier die live demo

<?php 
$a = 123123; 
echo $a; 
echo "\n"; 
$b = ($a & 0xFF00) >> 8; 
echo $b; 
echo "\n"; 
$c = dechex($b); 
$b = pack('c',$b); 
echo $b; 
echo "\n"; 
echo $c; 

Ausgabe lautet:

123123 
224 
� 
e0 
+0

Vielen Dank für Ihre Antwort, aber ich bekomme falsche Daten, wenn ich fwrite() benutze. – WKcho

Verwandte Themen