将base 64解码为ASCII

时间:2017-10-25 17:37:25

标签: php

我必须将base 64字符串解码为ASCII,问题是该字符串的长度为5482768,并且在尝试转换它时出于某种原因,它不起作用。

这是我尝试的第一件事:

$var=base64_decode($str);

然后我提出了将字符串写入文件,然后读取并转换它的想法,如下所示:

$myfile = fopen("file2.txt", "w") or die("Unable to open file!");
$txt = $str;
fwrite($myfile, $txt);
fclose($myfile);

$myfile = fopen("file2.txt", "r") or die("Unable to open file!");
$string= fread($myfile,filesize("file2.txt"));
fclose($myfile);
print_r(base64_decode($string));

也不行。

我的假设是因为字符串的长度不起作用,当我将它保存到大小为5,355 kb的文件时,它会变大。

我该怎么做才能解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:0)

由于base 64编码每个字符存储6位原始信息 - 您可以尝试以8的乘数大小读取您的文件并逐个解码。