PHP unpack() Function
❮ PHP Misc Reference
Example
Unpack data from a binary string:
 <?php
$data = "PHP";
print_r(unpack("C*",$data));
 ?>
Run example »
 
Definition and Usage
The unpack() function unpacks data from a binary string.
Syntax
  
    | Parameter | 
    Description | 
  
  
  
    | format | 
    Required. Specifies the format to use when packing data. 
 Possible values: 
 
    - a - NUL-padded string
 
    - A - SPACE-padded string
 
    - h - Hex string, low nibble first
 
    - H - Hex string, high nibble first
 
    - c - signed char
 
    - C - unsigned char
 
    - s - signed short (always 16 bit, machine byte order)
 
    - S - unsigned short (always 16 bit, machine byte order)
 
    - n - unsigned short (always 16 bit, big endian byte order)
 
    - v - unsigned short (always 16 bit, little endian byte order)
 
    - i - signed integer (machine dependent size and byte order)
 
    - I - unsigned integer (machine dependent size and byte order)
 
    - l - signed long (always 32 bit, machine byte order)
 
    - L - unsigned long (always 32 bit, machine byte order)
 
    - N - unsigned long (always 32 bit, big endian byte order)
 
    - V - unsigned long (always 32 bit, little endian byte order)
 
    - f - float (machine dependent size and representation)
 
    - d - double (machine dependent size and representation)
 
    - x - NUL byte
 
    - X - Back up one byte
 
    - Z - NUL-padded string
 
    - @ - NUL-fill to absolute position 
 
  
   | 
  
  
    | data | 
    Required. Specifies the binary data to be unpacked | 
  
Technical Details
 | Return Value: | 
 Returns an array on success, or FALSE on failure. | 
  | PHP Version: | 
  4+ | 
  | Changelog: | 
  As of PHP 5.5.0, following changes were made for Perl compatibility: 
  The "a" code now retains trailing NULL bytes. The "A" code now strips all trailing ASCII whitespace. The "Z" code was added for NULL-padded strings, and removes trailing NULL bytes. | 
More Examples
Example 1
Unpack data:
 <?php
$data = "PHP";
print_r(unpack("C*myint",$data));
 ?>
Run example »
 
Example 2
Unpack data:
 <?php
$bin = pack("c2n2",0x1234,0x5678,65,66);
print_r(unpack("c2chars/n2int",$bin));
 ?>
Run example »
 
❮ PHP Misc Reference