今天要處理一個(gè)二進(jìn)制文件的問題,所以需要用一下,特意了解一下pack的用法,unpack用法與此類似。簡單來說,pack函數(shù)就是給一個(gè)目標(biāo)格式,和相應(yīng)的參數(shù),就可以返回二進(jìn)制數(shù)據(jù)了。 " /> 国产裸体写真av一区二区,久久精品国产99国产精品澳门,波多野结衣中文字幕久久

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php使用pack處理二進(jìn)制文件的方法

php讀寫二進(jìn)制文件可以使用pack和unpack函數(shù)。
今天要處理一個(gè)二進(jìn)制文件的問題,所以需要用一下,特意了解一下pack的用法,unpack用法與此類似。

簡單來說,pack函數(shù)就是給一個(gè)目標(biāo)格式,和相應(yīng)的參數(shù),就可以返回二進(jìn)制數(shù)據(jù)了。

下面舉例加以說明,對于四個(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é)果是一樣的,也就是說,format是描述后面的數(shù)據(jù)的格式。
至于具體format可以用什么,看看format characters就知道了。
比如一個(gè)30字符的 pack("a30", "http://www.jb51.NET") ,就是這個(gè)意思,很簡單

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ù)壓縮成一個(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 

主站蜘蛛池模板:
鞍山市|
弥勒县|
凭祥市|
深州市|
柘荣县|
资中县|
兴国县|
英德市|
东阳市|
抚宁县|
五家渠市|
恭城|
拜城县|
黑龙江省|
丘北县|
九寨沟县|
胶南市|
寿光市|
婺源县|
钟山县|
湖北省|
温宿县|
兰考县|
新安县|
长白|
庆阳市|
江口县|
荣成市|
石嘴山市|
远安县|
鄂尔多斯市|
平阳县|
清苑县|
昌邑市|
湘阴县|
城口县|
嘉黎县|
马龙县|
宁夏|
镇坪县|
扎兰屯市|