如何在 PHP 中解压缩二进制字符串?
Posted
技术标签:
【中文标题】如何在 PHP 中解压缩二进制字符串?【英文标题】:How do I unpack a binary string in PHP? 【发布时间】:2010-04-21 16:49:54 【问题描述】:如何在 php 中编写 Perl 代码?
print unpack ("H*", pack ("B*", "00000000100000012000000" ));
【问题讨论】:
PHP 的pack
实现似乎缺少 B*
。
【参考方案1】:
由于 PHP 中的 pack/unpack 不支持 B 类型,您必须使用 PHP 的其他函数来代替。在这种情况下,dechex
和 bindec
。
echo dechex( bindec( "00000000100000012000000" ));
编辑:或者使用 base_convert 在单个函数中完成:
echo base_convert("00000000100000012000000", 2, 16);
【讨论】:
也得到了来自 devshed forums.devshed.com/php-development-5/…的不同答案 我意识到这是一个老问题,但我相信这仅限于 32 位或 64 位字符串。有没有办法对任意大字符串执行此操作?是否有相反的过程?以上是关于如何在 PHP 中解压缩二进制字符串?的主要内容,如果未能解决你的问题,请参考以下文章