PHP打包和解包功能的实时使用是什么?
我看到一些使用 pack 函数的文件生成代码。
echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
这到底是在做什么?
s 有符号短(始终为 16 位,机器字节顺序)
我不知道为什么我无法实时理解这一点。 我不是在问理论答案
当我执行 php 时,生成的文件带有一些 MS excel 无法识别的奇怪字符。
我只是想知道pack()的使用,在哪里使用以及如何使用?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
pack
通常用于生成原始二进制数据。例如,我在 用于生成 zip 文件 PHP 中提供了 ://www.php.net/manual/en/class.ziparchive.php" rel="nofollow noreferrer">本机函数/类 来实现此目的。pack
is generally used to generate raw binary data. For example, I saw it used to generate zip files before native functions/classes were available in PHP for that.什么时候需要使用mysql_connect?连接到 MySQL 数据库时。为什么?连接到 MySQL 数据库。
当你意识到你刚刚得到了这些糟糕的十六进制数字行并且你需要将它们转换为 ASCII 时,或者当你想从用户输入生成 .exe 时(不要),或者当你想编写一个 Little-Endian 编码器,或者一堆其他东西,你将使用 pack。
如果您只是想了解 pack 的作用,那么已经有一个 问题 对于它。但什么时候使用它呢?好吧,当你想将数据打包成二进制字符串时。
When would you need to use mysql_connect? When connecting to a MySQL database. Why? To connect to a MySQL database.
When you'll realize that you just got this bad-ass lines of Hex numbers and you need to convert them to ASCII, or when you want to generate a .exe from user input (don't), or when you want to write a Little-Endian encoder, or a bunch of other stuff, you'll use pack.
If you just want to understand what pack does, there's already a question for it. But WHEN to use it? Well, when you want to pack data into a binary string.