mb_internal_encoding('UTF-8');
function addBase64Padding($base64Str) {
$len = strlen($base64Str);
$padding = 4 - ($len % 4);
if ($padding !== 4) {
$base64Str .= str_repeat('=', $padding);
}
return $base64Str;
}
function convertUrlSafeBase64($base64Str) {
// 将URL安全字符转换为标准Base64字符
$base64Str = strtr($base64Str, '-_', '+/');
// 添加填充符号
$base64Str = addBase64Padding($base64Str);
return $base64Str;
}
在 PHP 中使用
base64_decode()
函数解码Base64
字符串。可以启用严格模式,确保只解码有效的Base64
字符串
$base64Str = "YmFzZTY0U3Ry";
$standardBase64Str = convertUrlSafeBase64($base64Str);
$decodedStr = base64_decode($standardBase64Str, true); // true表示启用严格模式
echo $decodeedStr;
原文: http://yiqiao.me/articles/44/record-one-occurrence-of-garbled-code-during-base64-decoding-in-php
版权声明: 自由转载-非商用-非衍生-保持署名 (创意共享3.0许可证)