|
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 主站蜘蛛池模板: 亲爱的妈妈6韩国电影免费观看 | 欧美一区二区三区不卡免费 | 手机在线观看你懂的 | 短篇合集纯肉高H深陷骚 | 国产亚洲精品视频亚洲香蕉视 | 天天狠狠色综合图片区 | 亚洲国产在线精品国 | 精品AV无码一二三区视频 | 欧美2019高清hd巨大 | 四虎亚洲中文字幕永久在线 | 无人区乱码区1卡2卡三卡在线 | 草b是什么感觉 | 国产三级级在线电影 | 2020国产欧洲精品视频 | 京香在线播放 | 99国产精品久久久久久久日本竹 | 肉色欧美久久久久久久蜜桃 | 含羞草完整视频在线播放免费 | 国产视频www | 777EY_卡通动漫_1页 | 99久久久久亚洲AV无码 | 国产精品线路一线路二 | 久久99精品AV99果冻传媒 | 全彩acg无翼乌火影忍者 | a视频免费在线 | 亚洲欧洲自拍偷拍 | 免费国产久久啪久久爱 | 啦啦啦 中文 日本 韩国 免费 | 男人脱女人衣服吃奶视频 | 亚洲免费人成 久久 | 国产成人精品男人的天堂网站 | 日本高清免费在线 | 含羞草影院免费区 | 国产在线高清视频无码 | 免费的av不用播放器的 | videosgrati欧美另类 | 国产成人亚洲精品午夜国产馆 | 午夜影视不充值观看 | 最近中文字幕MV免费高清在线 | 日本AAA片爽快视频 日本aaaa | 风月宝鉴之淫乱英雄传 电影 |