PHP needs to use pack() and unpack() to process binary data.
pack() is used to convert data into binary data. The usage method is as follows:
pack(“LL”, 0,1);
pack(“C”, a);
unpack() can parse binary data into a relational array. It accepts 2 parameters and is used as follows:
$arr = unpack(“Chead”, $binstream); //Read the first byte
$arr = unpack(“Chead/C3string/C4number”, $binstream); //Read 8 bytes, separated by slashes
The first parameter list of pack() and unpack() functions is as follows
■a: NULL padded byte string
■A: Space-filled byte string
■h: Hexadecimal number, low nibble first
■H: Hexadecimal number, high nibble first
■c: signed character
■C: Unsigned character
■s: signed short (always 16 bits, machine byte order)
■S: unsigned short (always 16 bits, machine byte order)
■n: unsigned short (always 16 bits, big-endian)
■v: unsigned short (always 16 bits, little endian)
■I: Signed integer (machine dependent size and endianness)
■I: unsigned integer (machine dependent size and endianness)
l: signed long (always 32 bits, machine byte order)
■L: unsigned long (always 32 bits, machine byte order)
■N: unsigned long (always 32 bits, big-endian)
■V: unsigned long (always 32 bits, little endian)
■f: floating point number (machine dependent size and representation)
■d: double (machine dependent size and representation)
■x: null byte
■X: Go back one byte
■@: Fill absolute position with NULL
The above implementation method of processing binary data in PHP is all the content shared by the editor. I hope it can give you a reference, and I also hope that everyone will support Bangkejia.