定義和用法
pack()
函數將數據打包成二進製字符串。
實例
例子1
將數據打包成二進製字符串:
<?php
echo pack ( "C3" , 80 , 72 , 80 ) ;
?>
親自試一試
例子解釋:
pack("C*", 80, 72, 80) 將三個無符號字符(80, 72, 80)打包成一個二進製字符串。 C* 表示打包一個或多個無符號字符。在這個例子中,輸出將是包含這三個字符的二進製字符串。注意,字符80、72 和80 在ASCII 表中分別對應於字符'P'、'H' 和'P',因此輸出將是字符串"PHP"。
例子2
<?php
echo pack ( "C*" , 80 , 72 , 80 ) ;
?>
親自試一試
文法
pack ( format , args + )
參數 |
描述 |
format |
必需。指定打包數據時使用的格式。 |
args+
|
可選。指定一個或多個要打包的參數。 |
format參數的可能值:
- a - NUL 填充的字符串
- A - SPACE 填充的字符串
- h - 十六進製字符串,低位在前
- H - 十六進製字符串,高位在前
- c - 有符號字符
- C - 無符號字符
- s - 有符號短整型(總是16 位,機器字節序)
- S - 無符號短整型(總是16 位,機器字節序)
- n - 無符號短整型(總是16 位,大端字節序)
- v - 無符號短整型(總是16 位,小端字節序)
- i - 有符號整型(機器相關的大小和字節序)
- I - 無符號整型(機器相關的大小和字節序)
- l - 有符號長整型(總是32 位,機器字節序)
- L - 無符號長整型(總是32 位,機器字節序)
- N - 無符號長整型(總是32 位,大端字節序)
- V - 無符號長整型(總是32 位,小端字節序)
- q - 有符號長長整型(總是64 位,機器字節序)
- Q - 無符號長長整型(總是64 位,機器字節序)
- J - 無符號長長整型(總是64 位,大端字節序)
- P - 無符號長長整型(總是64 位,小端字節序)
- f - 浮點數(機器相關的大小和表示)
- g - 浮點數(機器相關的大小,小端字節序)
- G - 浮點數(機器相關的大小,大端字節序)
- d - 雙精度浮點數(機器相關的大小和表示)
- e - 雙精度浮點數(機器相關的大小,小端字節序)
- E - 雙精度浮點數(機器相關的大小,大端字節序)
- x - NUL 字節
- X - 回退一個字節
- Z - NUL 填充的字符串
- @ - NUL 填充到絕對位置