我必须将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的文件时,它会变大。
我该怎么做才能解决这个问题?
感谢。
答案 0 :(得分:0)
由于base 64编码每个字符存储6位原始信息 - 您可以尝试以8的乘数大小读取您的文件并逐个解码。