php pack与unpack 摸板字符字符含义简介

format 参数的可能值:

php pack与unpack 摸板字符字符含义简介

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

@ - NUL-fill to absolute position

a一个填充空的字节串

A一个填充空格的字节串

b一个位串,在每个字节里位的顺序都是升序

B一个位串,在每个字节里位的顺序都是降序

c一个有符号char(8位整数)值

C一个无符号char(8位整数)值;关于Unicode参阅U

d本机格式的双精度浮点数

f本机格式的单精度浮点数

h一个十六进制串,低四位在前

H一个十六进制串,高四位在前

i一个有符号整数值,本机格式

I一个无符号整数值,本机格式

l一个有符号长整形,总是32位

L一个无符号长整形,总是32位

n一个16位短整形,“网络”字节序(大头在前)

N一个32位短整形,“网络”字节序(大头在前)

p一个指向空结尾的字串的指针

P一个指向定长字串的指针

q一个有符号四倍(64位整数)值

Q一个无符号四倍(64位整数)值

s一个有符号短整数值,总是16位

S一个无符号短整数值,总是16位,字节序跟机器芯片有关

u一个无编码的字串

U一个Unicode字符数字

v一个“VAX”字节序(小头在前)的`16位短整数

V一个“VAX”字节序(小头在前)的32位短整数

w一个BER压缩的整数

x一个空字节(向前忽略一个字节)

X备份一个字节

Z一个空结束的(和空填充的)字节串

规则:

1.每个字母后面都可以跟着一个数字,表示count(计数),如果count是一个*表示剩下的所有东西。

2.如果你提供的参数比$format要求的少,pack假设缺的都是空值。如果你提供的参数比$format要求的多,那么多余的参数被忽略。