在PHP中解码base64字符串

在PHP中解码base64字符串,php,string,Php,String,我正在尝试用PHP解码base64字符串 例如,我可以在python脚本中执行以下操作: s = "0CC0QFjAA" base64.b64decode(str(s)+'=====', '_-'); 如何在PHP中解码base64字符串?PHP函数称为base64\u decode。你可以把它叫做base64_decode$s 我认为这样做可以: $decoded = base64_decode(str_replace(array('_', '-'), array('+', '/'), $s

我正在尝试用PHP解码base64字符串

例如,我可以在python脚本中执行以下操作:

s = "0CC0QFjAA"
base64.b64decode(str(s)+'=====', '_-');

如何在PHP中解码base64字符串?

PHP函数称为base64\u decode。你可以把它叫做base64_decode$s

我认为这样做可以:

$decoded = base64_decode(str_replace(array('_', '-'), array('+', '/'), $s));
如果您需要更通用的表格:

function b64decode($str, $altchars = null) {
    if ($altchars) {
        $altarray = array($altchars[0], $altchars[1]);
        $str = str_replace($altarray, array('+', '/'), $str);
    }
    return base64_decode($str);
}

@hjpotter92,base64_decode无法处理替代字符。我认为您可以使用str_replace来实现altchars。@在解码过程中需要barmar替代字符,而不是在解码之前或之后,因此str_replace将不会work@Vineet1982,不适用于Python 2和Python 3。看看python altchars你在说编码吗?像UTF-8一样?@Jordan,请看。@Jordan他说的是B64解码的可选第二个参数:可选的altchars必须是一个长度至少为2个字符的字符串。另外两个字符被忽略,这指定了使用的替代字母表,而不是“+”和“/”字符。感谢大家的输入,但自从我回答后,他改变了问题。