【问题标题】:What is the realtime use of PHP pack and unpack function?PHP打包和解包功能的实时使用是什么?
【发布时间】:2011-04-19 16:47:19
【问题描述】:

我看到了一些使用打包功能的文件生成代码。

echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);

这到底在做什么?

s 有符号短(总是 16 位,机器字节顺序)

我不知道为什么我无法实时理解这一点。 我不是在问一个理论上的答案

当我执行 php 时,生成的文件带有一些 ms excel 无法识别的 stange 字符。

我只想知道pack()的用法,在哪里用,怎么用?

【问题讨论】:

  • 当你需要它时,你会知道的。尝试向原始、孤立的人类部落解释为什么有人“需要”航空旅行。
  • @Tomalak Geret'kal 你的名字说你来自原始部落:-)
  • 它正在编写原始二进制文件。使用命令行工具 od -x 或 GUI“十六进制编辑器”检查输出,以更好地了解该行的输出是什么。在这种情况下,这显然是一个 BIFF8 标头。 BIFF 格式详细信息可在此处获得:sc.openoffice.org/excelfileformat.pdf
  • 先生,我的名字早于您最喜欢的电视节目。

标签: php file file-io pack


【解决方案1】:

pack 一般用于生成原始二进制数据。例如,我在 native functions/classes 在 PHP 中可用之前就看到了 used to generate zip files

【讨论】:

  • 致“-1”选民:有什么意见可以让我改进答案吗?
【解决方案2】:

什么时候需要使用mysql_connect?连接到 MySQL 数据库时。为什么?连接到 MySQL 数据库。

当你意识到你刚刚得到了这些糟糕的十六进制数字行并且你需要将它们转换为 ASCII 时,或者当你想从用户输入生成一个 .exe 时(不要),或者当你想写一个 Little-Endian 编码器,或者一堆其他东西,你会使用 pack。

如果您只是想了解 pack 的作用,那么已经有一个 question 了。但是什么时候使用呢?好吧,当你想把数据打包成一个二进制字符串时。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-12
    • 2011-01-16
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多