我试图理解PHP的打包/解压缩是如何工作的。
我从php.net/pack 看到了
n unsigned short (always 16 bit, big endian byte order)
我有php
$binarydata = unpack('n', 12);
print_r($binarydata);
输出:
Array (
[1] => 12594
)
在C ++中我有
uint16_t swap_uint16( uint16_t val ) {
return (val << 8) | (val >> 8 );
}
cout << swap_uint16(12);
输出:3072
答案 0 :(得分:3)
您的PHP unpack
将 12转换为字符串“12”。以字节为单位表示:0x31 0x32
。现在将PHP的输出(12594)转换为十六进制数))