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 ++打包/解包[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

android studio把窗口关闭了怎么打开?

qt的程序异常退出 求救

Spring Boot的应用启动与关闭

按功能打包好不好? [关闭]

为啥不使用实时打包服务器进行生产?反应本机[关闭]

nohup启动jar包的参数解释