|
php讀寫二進制文件可以使用pack和unpack函數(shù)。
今天要處理一個二進制文件的問題,所以需要用一下,特意了解一下pack的用法,unpack用法與此類似。
簡單來說,pack函數(shù)就是給一個目標(biāo)格式,和相應(yīng)的參數(shù),就可以返回二進制數(shù)據(jù)了。
下面舉例加以說明,對于四個整數(shù):
pack("L4", 0,1,2,3)pack("LLLL", 0,1,2,3)pack("L", 0).pack("L", 1).pack("L", 2).pack("L", 3)
上面的處理結(jié)果是一樣的,也就是說,format是描述后面的數(shù)據(jù)的格式。
至于具體format可以用什么,看看format characters就知道了。
比如一個30字符的 pack("a30", "http://www.jb51.NET") ,就是這個意思,很簡單
pack函數(shù)的官方聲明如下:
引用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
看累了英文,下面來看看對應(yīng)的中文解釋:
引用pack()函數(shù)的作用是:將數(shù)據(jù)壓縮成一個二進制字符串。a - NUL-padded string a - NUL- 字符串填滿[padded string] A - SPACE-padded string A - SPACE- 字符串填滿[padded string] h - Hex string, low nibble first h 主站蜘蛛池模板: 亚洲区小说区图片区qvod伊 | 国产在线视频h | 美女视频国产 | 天天综合网站 | 黄视频网站观看 | 激情福利视频 | 韩国精品一区二区三区四区五区 | 亚洲精品第四页中文字幕 | 亚洲成人tv | 中文字幕日本久久2019 | 亚洲国产精品久久人人爱 | 伊人插 | 亚洲成人手机在线 | 国语精品| 99999久久久久久亚洲 | 精品久久久久久久免费加勒比 | 国产盗摄精品一区二区三区 | 黄视频网站观看 | 一区二区三区伦理高清 | 一级做a爰片久久毛片武则天 | 青春娱乐国产分类精品二 | 久久国产精品一区二区三区 | 加勒比一区二区 | 国产精品亚洲片夜色在线 | 亚洲视频色 | 91一个人的在线观看www | 看全色黄大色黄女片做 | se色综合视频 | 国产午夜精品久久久久小说 | 91免费影视 | 性视频一区 | 国产精品李雅在线观看 | 色吧欧美| 国产片欧美片亚洲片久久综合 | 一区二区三区免费在线 | 欧美xx在线观看 | 久久精品国产福利 | 5151四虎永久在线精品免费 | 午夜岛国 | 国产亚洲欧美一区二区三区 | 婷婷色网 |