官方 base64 的填充字符是 '=',在 URL 中使用时可能需要进行百分比编码。我正在尝试找到最好的填充字符,以便我的编码字符串既可以是 url 安全的(我将使用编码的字符串作为参数值,例如 id=encodedString)和文件名安全的(我将使用编码的字符串直接作为文件名)。
点 ('.') 是一个受欢迎的候选者,它是 url 安全的,但它并不完全是文件名安全的:Windows 不允许文件名以尾随 dot 结尾。
'!' 似乎是一个可行的选择,虽然我用谷歌搜索过,我从未见过有人将它用作填充字符。有任何想法吗?谢谢!
更新:我已经在我的自定义 base64 编码中将“+”替换为“-”(减号)并将“/”替换为“_”(下划线),因此“-”或“_”不再可用于填充字符.