35 lines
2.3 KiB
Markdown
35 lines
2.3 KiB
Markdown
|
|
# PHP pack/unpack reference
|
||
|
|
|
||
|
|
| Code | Description |
|
||
|
|
| ---- | ------------------------------------------------------------ |
|
||
|
|
| 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) |
|
||
|
|
| q | signed long long (always 64 bit, machine byte order) |
|
||
|
|
| Q | unsigned long long (always 64 bit, machine byte order) |
|
||
|
|
| J | unsigned long long (always 64 bit, big endian byte order) |
|
||
|
|
| P | unsigned long long (always 64 bit, little endian byte order) |
|
||
|
|
| f | float (machine dependent size and representation) |
|
||
|
|
| g | float (machine dependent size, little endian byte order) |
|
||
|
|
| G | float (machine dependent size, big endian byte order) |
|
||
|
|
| d | double (machine dependent size and representation) |
|
||
|
|
| e | double (machine dependent size, little endian byte order) |
|
||
|
|
| E | double (machine dependent size, big endian byte order) |
|
||
|
|
| x | NUL byte |
|
||
|
|
| X | Back up one byte |
|
||
|
|
| Z | NUL-terminated (ASCIIZ) string, will be NUL padded |
|
||
|
|
| @ | NUL-fill to absolute position |
|