0

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

4

1 に答える 1

3

PHP は12 を文字列 "12" にunpack 変換します。バイト表現では次のとおり0x31 0x32です。ここで、PHP の出力 (12594) を 16 進数に変換します ))

于 2013-01-21T12:35:26.100 に答える