https://segmentfault.com/q/1010000004223227?_ea=534609
在這里找到個(gè)答案,但是不明白為什么是unpack而不是pack
走同樣的路,發(fā)現(xiàn)不同的人生
PHP 中的 string
的實(shí)現(xiàn)方式是一個(gè)由字節(jié)組成的數(shù)組再加上一個(gè)整數(shù)指明緩沖區(qū)長度。并無如何將字節(jié)轉(zhuǎn)換成字符的信息,由程序員來決定。字符串由什么值來組成并無限制;特別的,其值為
0(“NUL bytes”)的字節(jié)可以處于字符串任何位置(不過有幾個(gè)函數(shù),在本手冊中被稱為非“二進(jìn)制安全”的,也許會(huì)把 NUL
字節(jié)之后的數(shù)據(jù)全都忽略)。字符串類型的此特性解釋了為什么 PHP 中沒有單獨(dú)的“byte”類型 - 已經(jīng)用字符串來代替了。返回非文本值的函數(shù) -
例如從網(wǎng)絡(luò)套接字讀取的任意數(shù)據(jù) - 仍會(huì)返回字符串。
以上摘自手冊 http://php.net/manual/zh/language.types.string.php
php里面string本來就是個(gè)byte array,不用轉(zhuǎn)換,一般傳輸數(shù)字類型才需要pack。