← 全部实操指南
编码排错

中文、空格和 &:URL 与 Base64 编码该用哪一种?

用“月升 & tools”演示参数编码,识别二次编码和把 Base64 当加密的常见错误。

基于本站实现编写 · 更新于 2026-10-15 · 示例数据不含个人资料

编码前先确认数据要放在哪里

同样一段文字,放进 URL 参数与放进二进制传输格式时,需要不同编码。URL 百分号编码用来避免参数分隔符与内容冲突;Base64 则使用一组可打印字符表达字节。二者都不会替你保密。

查询参数中的 & 必须作为内容保护

假设关键词是“月升 & tools”。用 URL 工具的 encodeURIComponent 模式编码整个参数值,预期结果如下。如果只把它拼到 ?q= 后面而不编码,& 可能被当作下一项参数的起点。

encodeURI 用于完整网址,会保留部分分隔符;因此不应把 encodeURI 当作 encodeURIComponent 的通用替代品。

%E6%9C%88%E5%8D%87%20%26%20tools

遇到 %25,先检查是不是编码了两遍

百分号本身编码成 %25。已经编码过的 %26 再编码会变成 %2526。先保留原文,解码一层观察结果,不能反复解码直到“看起来正常”,否则可能改变业务内容并引入安全问题。

表单编码还有一个额外规则:加号可代表空格。但 decodeURIComponent("a+b") 的结果仍是 a+b。处理表单查询参数时,可以用 URLSearchParams,而不是自行全局替换后盲目解码。

Base64 用一个最小例子验证

在 Base64 工具输入 hello,应输出 aGVsbG8=。解码后应该原样返回 hello。中文需先使用 UTF-8 字节编码;本工具做的是文本往返,不是文件二进制转换。

JWT 的片段使用 Base64URL 变体,它用 -、_ 替代 +、/,也常省略填充。即使能解码载荷,也不能证明签名有效。任何人都可以读取 Base64 内容,不要用它“加密”密码或令牌。

动手核对

参考资料

发现示例或结果不一致?请通过联系与反馈提交复现步骤。本站内容是工具使用说明,不代表专业财务、医疗或法律建议。