我需要解码一个 base64 编码的字符串。
我需要使用 PHP 。
base64_decode()
无法胜任。
我尝试过:
base64_decode(strtr($data, '-_,', '+/='));
......它有时只能起作用。
同样的情况发生在:
base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT));
我真的不知道如何处理这个问题。
更新:
数据来自attached file via GMAIL API。
我将其保存到DB, utf8mb4 TEXT字段中。
我在插入之前mysqli -> real_escape_string()
。
然后我将其从数据库中提取为 $ data 。
答案 0 :(得分:0)
不确定是否仍然需要这样做,但是我有一个base64编码的字符串,它本身是url编码的HTML。因此,对我来说,答案是urldecode()
之后base64_decode()
。
这意味着向后包装功能:
$html = urldecode(base64_decode($data))