|
php讀寫(xiě)二進(jìn)制文件可以使用pack和unpack函數(shù)。
今天要處理一個(gè)二進(jìn)制文件的問(wèn)題,所以需要用一下,特意了解一下pack的用法,unpack用法與此類(lèi)似。
簡(jiǎn)單來(lái)說(shuō),pack函數(shù)就是給一個(gè)目標(biāo)格式,和相應(yīng)的參數(shù),就可以返回二進(jìn)制數(shù)據(jù)了。
下面舉例加以說(shuō)明,對(duì)于四個(gè)整數(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é)果是一樣的,也就是說(shuō),format是描述后面的數(shù)據(jù)的格式。
至于具體format可以用什么,看看format characters就知道了。
比如一個(gè)30字符的 pack("a30", "http://www.jb51.NET") ,就是這個(gè)意思,很簡(jiǎn)單
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
看累了英文,下面來(lái)看看對(duì)應(yīng)的中文解釋?zhuān)?/p>
引用pack()函數(shù)的作用是:將數(shù)據(jù)壓縮成一個(gè)二進(jìn)制字符串。a - NUL-padded string a - NUL- 字符串填滿[padded string] A - SPACE-padded string A - SPACE- 字符串填滿[padded string] h - Hex string, low nibble first h 主站蜘蛛池模板: 亚洲精品午夜aaa级久久久久 | 91网站视频在线观看 | 国产精品嫩草影院在线观看免费 | 97国产精品视频 | 中文字幕无限乱码不卡2021 | 亚洲黄色免费观看 | 婷婷综合色伊人阁 | 91第一页| 日本特级a禁片在线播放 | 国产一级做a爰片久久毛片男 | 人人dvd | 国产精品久久久久影院色老大 | 国产乱色 | 一区二区三区不卡免费视频97 | 色哟哟网址 | 国产黄色小视频在线观看 | 日本不卡一区 | www.色噜噜| 午夜a毛片 | 久久久99精品久久久 | 久久国产精品99久久久久久牛牛 | 精品免费看 | 99在线视频免费 | 亚洲福利一区二区三区 | 国产成人一区二区视频在线观看 | 久久99国产亚洲高清观看首页 | 99久久久久国产精品免费 | 在线观看视频www在线观看 | 一区二区高清视频在线观看 | 成人看的午夜免费毛片 | 成人免费看片视频色多多 | 在线观看免费污视频 | 欧美日本韩国一区二区 | 国产亚洲精品在天天在线麻豆 | 91高清免费视频 | 欧美三级网站 | 高清一区二区三区免费 | 亚洲精品美女久久久aaa | se色综合视频 | 亚洲怡红院在线观看 | 久久综合一区二区 |