pub fn is_base64(s: &str) -> boolExpand description
启发式判断字符串是否可能是一段真实的 Base64 编码数据 (支持 URL-Safe & 无填充格式)
§过滤规则 (Heuristics)
- 长度限制: 必须大于 8 个字符。
- 字节对齐: 真实 Base64 剔除 ‘=’ 后,长度对 4 取模绝对不能为 1。
- 填充符校验:
=最多出现 2 次。 - 非法结尾: 有效载荷不能以
+,/,-,_结尾(基于编码填充位的数学特性)。 - 混入度校验: 必须包含数字或特殊字符(
+,/,-,_,=),防止将纯字母当成 Base64。 - 连续性检查: 不能有连续 8 个大写或小写字母,防止英文长单词或全大写常量误报。
- 大小写比例: 大写字母在总字母中的比例必须介于
0.25到0.75之间。