◆ readBool()
Reads a byte boolean
- Parameters
-
- Returns
- bool
79 return self::readByte($b,
false) === 0 ? false :
true;
◆ readByte()
static readByte |
( |
|
$c, |
|
|
|
$signed = true |
|
) |
| |
|
static |
Reads an unsigned/signed byte
- Parameters
-
- Returns
- int
105 if(PHP_INT_SIZE === 8){
106 return $b << 56 >> 56;
108 return $b << 24 >> 24;
◆ readDouble()
static readDouble |
( |
|
$str | ) |
|
|
static |
237 return ENDIANNESS === self::BIG_ENDIAN ? unpack(
"d", $str)[1] : unpack(
"d", strrev($str))[1];
◆ readFloat()
221 return ENDIANNESS === self::BIG_ENDIAN ? unpack(
"f", $str)[1] : unpack(
"f", strrev($str))[1];
◆ readInt()
197 if(PHP_INT_SIZE === 8){
198 return unpack(
"N", $str)[1] << 32 >> 32;
200 return unpack(
"N", $str)[1];
◆ readLDouble()
static readLDouble |
( |
|
$str | ) |
|
|
static |
245 return ENDIANNESS === self::BIG_ENDIAN ? unpack(
"d", strrev($str))[1] : unpack(
"d", $str)[1];
◆ readLFloat()
static readLFloat |
( |
|
$str | ) |
|
|
static |
229 return ENDIANNESS === self::BIG_ENDIAN ? unpack(
"f", strrev($str))[1] : unpack(
"f", $str)[1];
◆ readLInt()
209 if(PHP_INT_SIZE === 8){
210 return unpack(
"V", $str)[1] << 32 >> 32;
212 return unpack(
"V", $str)[1];
◆ readLLong()
292 return self::readLong(strrev($str));
◆ readLong()
253 if(PHP_INT_SIZE === 8){
254 list(, $int1, $int2) = unpack(
"N*", $x);
256 return ($int1 << 32) | $int2;
259 for($i = 0; $i < 8; $i += 2){
260 $value = bcmul($value,
"65536", 0);
261 $value = bcadd($value, self::readShort(substr($x, $i, 2)), 0);
264 if(bccomp($value,
"9223372036854775807") == 1){
265 $value = bcadd($value,
"-18446744073709551616");
◆ readLShort()
static readLShort |
( |
|
$str, |
|
|
|
$signed = true |
|
) |
| |
|
static |
Reads a 16-bit signed/unsigned little-endian number
- Parameters
-
- Returns
- int
172 $unpacked = unpack(
"v", $str)[1];
175 if(PHP_INT_SIZE === 8){
176 return $unpacked << 48 >> 48;
178 return $unpacked << 16 >> 16;
◆ readLTriad()
static readLTriad |
( |
|
$str | ) |
|
|
static |
Reads a 3-byte little-endian number
- Parameters
-
- Returns
- mixed
57 return unpack(
"V", $str .
"\x00")[1];
◆ readShort()
Reads a 16-bit unsigned big-endian number
- Parameters
-
- Returns
- int
134 return unpack(
"n", $str)[1];
◆ readSignedShort()
static readSignedShort |
( |
|
$str | ) |
|
|
static |
Reads a 16-bit signed big-endian number
- Parameters
-
- Returns
- int
145 if(PHP_INT_SIZE === 8){
146 return unpack(
"n", $str)[1] << 48 >> 48;
148 return unpack(
"n", $str)[1] << 16 >> 16;
◆ readTriad()
Reads a 3-byte big-endian number
- Parameters
-
- Returns
- mixed
35 return unpack(
"N",
"\x00" . $str)[1];
◆ writeBool()
Writes a byte boolean
- Parameters
-
- Returns
- bool|string
90 return self::writeByte($b ===
true ? 1 : 0);
◆ writeByte()
Writes an unsigned/signed byte
- Parameters
-
- Returns
- string
◆ writeDouble()
static writeDouble |
( |
|
$value | ) |
|
|
static |
241 return ENDIANNESS === self::BIG_ENDIAN ? pack(
"d", $value) : strrev(pack(
"d", $value));
◆ writeFloat()
static writeFloat |
( |
|
$value | ) |
|
|
static |
225 return ENDIANNESS === self::BIG_ENDIAN ? pack(
"f", $value) : strrev(pack(
"f", $value));
◆ writeInt()
static writeInt |
( |
|
$value | ) |
|
|
static |
205 return pack(
"N", $value);
◆ writeLDouble()
static writeLDouble |
( |
|
$value | ) |
|
|
static |
249 return ENDIANNESS === self::BIG_ENDIAN ? strrev(pack(
"d", $value)) : pack(
"d", $value);
◆ writeLFloat()
static writeLFloat |
( |
|
$value | ) |
|
|
static |
233 return ENDIANNESS === self::BIG_ENDIAN ? strrev(pack(
"f", $value)) : pack(
"f", $value);
◆ writeLInt()
static writeLInt |
( |
|
$value | ) |
|
|
static |
217 return pack(
"V", $value);
◆ writeLLong()
static writeLLong |
( |
|
$value | ) |
|
|
static |
296 return strrev(self::writeLong($value));
◆ writeLong()
static writeLong |
( |
|
$value | ) |
|
|
static |
273 if(PHP_INT_SIZE === 8){
274 return pack(
"NN", $value >> 32, $value & 0xFFFFFFFF);
278 if(bccomp($value,
"0") == -1){
279 $value = bcadd($value,
"18446744073709551616");
282 $x .= self::writeShort(bcmod(bcdiv($value,
"281474976710656"),
"65536"));
283 $x .= self::writeShort(bcmod(bcdiv($value,
"4294967296"),
"65536"));
284 $x .= self::writeShort(bcmod(bcdiv($value,
"65536"),
"65536"));
285 $x .= self::writeShort(bcmod($value,
"65536"));
◆ writeLShort()
static writeLShort |
( |
|
$value | ) |
|
|
static |
Writes a 16-bit signed/unsigned little-endian number
- Parameters
-
- Returns
- string
193 return pack(
"v", $value);
◆ writeLTriad()
static writeLTriad |
( |
|
$value | ) |
|
|
static |
Writes a 3-byte little-endian number
- Parameters
-
- Returns
- string
68 return substr(pack(
"V", $value), 0, -1);
◆ writeShort()
static writeShort |
( |
|
$value | ) |
|
|
static |
Writes a 16-bit signed/unsigned big-endian number
- Parameters
-
- Returns
- string
160 return pack(
"n", $value);
◆ writeTriad()
static writeTriad |
( |
|
$value | ) |
|
|
static |
Writes a 3-byte big-endian number
- Parameters
-
- Returns
- string
46 return substr(pack(
"N", $value), 1);
◆ BIG_ENDIAN
◆ LITTLE_ENDIAN
const LITTLE_ENDIAN = 0x01 |
The documentation for this class was generated from the following file: