|
php讀寫二進制文件可以使用pack和unpack函數。
今天要處理一個二進制文件的問題,所以需要用一下,特意了解一下pack的用法,unpack用法與此類似。
簡單來說,pack函數就是給一個目標格式,和相應的參數,就可以返回二進制數據了。
下面舉例加以說明,對于四個整數:
pack("L4", 0,1,2,3)pack("LLLL", 0,1,2,3)pack("L", 0).pack("L", 1).pack("L", 2).pack("L", 3)
上面的處理結果是一樣的,也就是說,format是描述后面的數據的格式。
至于具體format可以用什么,看看format characters就知道了。
比如一個30字符的 pack("a30", "http://www.jb51.NET") ,就是這個意思,很簡單
pack函數的官方聲明如下:
引用pack(php 3, php 4, php 5)pack -- Pack data into binary stringDescriptionstring pack ( string format [, mixed args [, mixed ...]] )Pack given arguments into binary string according to format. Returns binary string containing data. The idea to this function was taken from Perl and all formatting codes work the same as there, however, there are some formatting codes that are missing such as Perl's "u" format code. The format string consists of format codes followed by an optional repeater argument. The repeater argument can be either an integer value or * for repeating to the end of the input data. For a, A, h, H the repeat count specifies how many characters of one data argument are taken, for @ it is the absolute position where to put the next data, for everything else the repeat count specifies how many data arguments are consumed and packed into the resulting binary string. Currently implemented are表格 1. pack() format charactersCode 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) 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
看累了英文,下面來看看對應的中文解釋:
引用pack()函數的作用是:將數據壓縮成一個二進制字符串。a - NUL-padded string a - NUL- 字符串填滿[padded string] A - SPACE-padded string A - SPACE- 字符串填滿[padded string] h - Hex string, low nibble first h 主站蜘蛛池模板: 亚洲精品天堂在线观看 | 97蜜桃网123 97蜜桃123 | 无码专区aaaaaa免费视频 | 美女挑战50厘米长的黑人 | av老司机色爱区综合 | 姑娘视频日本在线播放 | 久久er国产精品免费观看2 | 日本久久精品毛片一区随边看 | 幻女FREE性俄罗斯学生 | 欧美一区二区三区不卡免费 | 国产成人啪精视频精东传媒网站 | 国产亚洲精品a在线观看app | 欧美丰满熟妇无码XOXOXO | 免费观看美女的网站 | 俄罗斯另类Z0Z0ZOZO | 入禽太深免费视频10 | 国产伦子沙发午休系列资源曝光 | 精品一区二区三区四区五区六区 | 99国内精品久久久久久久清纯 | 免费看国产精品麻豆 | 在线中文高清资源免费观看 | 4388成人| 国产精品乱码色情一区二区视频 | 亚洲国产av | 99久久精品6在线播放 | 国产国产成人人免费影院 | 99re热精品视频国产免费 | 亚洲中文无码永久免费 | 精品国产人成亚洲区 | 伊人久久网国产伊人 | 一本道高清码v京东热 | 老师湿乎乎两半嫩 | 色柚视频网站ww色 | 国产在线高清亚洲精品一区 | 欧美v1deossexo高清| 亚洲AV久久无码精品九号 | 美女脱精光让男生桶下面 | 嗯啊…嗯np男男双性总受 | 亚洲薄码区| 99热久久这里只有精品视频 | 亚洲精品视频免费看 |