根据base64编码规则,用代码实现base64_encode功能
$str = 'AS156SSEFSS';
$input = str_split($str,1);
$base = array();
$base = array_merge($base,range('A','Z'));
$base = array_merge($base,range('a', 'z'));
$base = array_merge($base,range(0,9));
array_push($base, '+');
array_push($base, '/');
$ret = array();
foreach ($input as $key => $value) {
array_push($ret, sprintf("%'.08d",base_convert(ord($value), 10, 2)));
}
$str = implode('', $ret);
$in = str_split($str,6);
foreach ($in as $key => $value) {
$in[$key] = str_pad($value, 6,'0',STR_PAD_RIGHT);
}
$out = array();
foreach ($in as $key => $value) {
array_push($out, $base[base_convert($value, 2, 10)]);
}
while (count($out)%4!=0) {
array_push($out, '=');
}
return implode('', $out);