1. 程式人生 > >php函式pack()返回的字串是什麼 php binary string

php函式pack()返回的字串是什麼 php binary string

php函式pack()返回的字串是什麼?

// 'd' double 佔用8個位元組
$data = pack('d', 3.1415);

// dd函式見 Symfony\VarDumper
dd($data)

輸出: 
    b"o\x12ƒÀÊ!\t@"

完全看不懂啊!  亂碼,差評!

$i = 0;
dd(
    $data[$i++],
    $data[$i++],
    $data[$i++],
    $data[$i++],
    $data[$i++],
    $data[$i++],
    $data[$i++],
    $data[$i++]
);

輸出:
"o"
"\x12"
b"ƒ"
b"À"
b"Ê"
"!"
"\t"
"@"

對照assic表. 輸出內容對應可顯的assic碼就顯示,沒有則顯示十六進位制.

  十進位制 十六進位制 符號
"o" 79 6FH o
"\x12" 18 12H  
b"ƒ" 131 83H ƒ
b"À" 192 C0H À
b"Ê" 202 CAH Ê
"!" 33 21H !
"\t" 9 09H \t
"@" 64 40H @

再看看bin2hex函式

dd(bin2hex($data));

輸出:
"6f1283c0ca210940"

對應assic表的十