<?php
|
namespace BufferOperate;
|
#´´½¨ÈÕÆÚ£º2012-5-16 ÏÂÎç2:46:54
|
#×÷Õߣºzhouliang
|
|
include_once 'CommFunc.php';
|
|
//ËùÓеÄÊý¾ÝÁ÷²Ù×÷¶¼ÊÇÒÔ¸ßλÔÚǰµÄÐÎʽ
|
//×¢Ò⣡£¡£¡ µ±°üÖеÄÊý¾Ý¹ý¶àʱ£¬ÈÝÒ×Òý·¢ÐÔÄÜÎÊÌ⣬ÒòΪÿ´Î¶ÁÈ¡£¬¶¼»áÓÐ×Ö·û´®µÄ¸´ÖÆ
|
|
#¶ÁÈ¡Á½¸ö×ÖµÄÄÚÈÝ£¬·µ»ØÊ®Áù½øÖÆÊý
|
function ReadDWORD( &$buffer, &$nPos )
|
{
|
$ret=unpack( 'V', substr( $buffer, $nPos, 4 ) );
|
$nPos+=4;
|
return array_shift($ret);
|
}
|
|
#¶Áȡһ¸ö×ÖµÄÄÚÈÝ£¬·µ»ØÊ®Áù½øÖÆÊý
|
function ReadWORD( &$buffer, &$nPos )
|
{
|
$ret=unpack( 'v', substr( $buffer, $nPos, 2 ) );
|
$nPos+=2;
|
return array_shift($ret);
|
}
|
|
function ReadBYTE( &$buffer, &$nPos )
|
{
|
$ret=unpack( 'C', substr( $buffer, $nPos, 1 ) );
|
$nPos+=1;
|
return array_shift($ret);
|
}
|
|
function ReadFloat(&$buffer, &$nPos)
|
{
|
$ret = unpack('f', substr($buffer, $nPos, 4));
|
$nPos += 4;
|
return array_shift($ret);
|
}
|
|
function ReadDouble(&$buffer, &$nPos)
|
{
|
$ret = unpack('d', substr($buffer, $nPos, 8));
|
$nPos += 8;
|
return array_shift($ret);
|
}
|
|
#¶ÁÈ¡×Ö·û´®
|
function ReadString(&$buffer, $nLen, &$nPos)
|
{
|
$ret=substr( $buffer, $nPos, $nLen );
|
$nPos += $nLen;
|
return $ret;
|
}
|
|
|
function WriteBYTE(&$buffer, $value)
|
{
|
$buffer .= pack('C', $value);
|
return $buffer;
|
}
|
|
function WriteWORD(&$buffer, $value)
|
{
|
$buffer .= pack('v', $value);
|
return $buffer;
|
}
|
|
function WriteDWORD(&$buffer, $value)
|
{
|
$buffer .= pack('V', $value);
|
return $buffer;
|
}
|
|
function WriteFloat(&$buffer, $value)
|
{
|
$buffer .= pack('f', $value);
|
return $buffer;
|
}
|
|
function WriteDouble(&$buffer, $value)
|
{
|
$buffer .= pack('d', $value);
|
return $buffer;
|
}
|
|
function WriteString(&$buffer, $len, $value)
|
{
|
$buffer .= substr( $value, 0, $len );
|
return $buffer;
|
}
|
?>
|