|
pack/unpack的摸板字符字符含义,需要的朋友可以参考下。
format 参数的可能值: 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要求的多,那么多余的参数被忽略。 |
|