以下是简要情况(向下滚动查看问题):我正在使用PHP对文件进行哈夫曼编码以进行压缩(为一个项目)。我已经创建了映射,并将所有内容转换为字符串,如下所示:
00101010001100001110011101001101111011111011
现在,我需要将其转换为实际的二进制字符串,在当前状态下,它只是一个由1和0组成的字符串。
这里有个问题:
这个由1和0组成的字符串非常长,共有17,747,595个字符,而且在大约550,000处速度变得非常缓慢。
这是我的代码:
<?php
$i=0
$len = strlen($binaryString);
while ($i < $len){
$section = substr($binaryString,$i,$i+8);
$out .= chr(bindec($section));
$i=$i+8;
}
?>
如何使这个代码足够高效,以便运行含有1700万字符的字符串?
非常感谢您的支持!