c ++打包/解包[关闭]
Posted
技术标签:
【中文标题】c ++打包/解包[关闭]【英文标题】:c++ pack / unpack [closed] 【发布时间】:2013-01-21 12:29:36 【问题描述】:我试图了解从 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
【问题讨论】:
你的 PHP 代码没有意义。您的 C++ 代码是有意义的,但我看不出它与您的 PHP 代码或您引用的pack
文档有什么关系。你有问题吗?
【参考方案1】:
您的 PHP 的 unpack
将 12 转换为字符串“12”。以字节表示为:0x31 0x32
。现在将 PHP 的输出 (12594) 转换为十六进制数))
【讨论】:
嘿,快点打败我吧。 :) 现在一切都很清楚了!谢谢xD!以上是关于c ++打包/解包[关闭]的主要内容,如果未能解决你的问题,请参考以下文章