我想知道…
(除了查询字符串中 base64 的加号“+”问题 - 它被翻译为“空格”并且可以通过 %2b 解决):—> 哪种是在 查询字符串中传输数据的首选方式?
这两个函数都可以通过 JS 命令使用:
btoa
encodeUriComponent
所以我问自己(和你):
我应该 什么时候 使用 什么? (我一直本能地使用 encodeUriCompoonent
)。
定义不同的问题 - 但实现可能相似……
编辑
我想我找到了问的原因……(以及为什么以前没有人问过)
原文由 Royi Namir 发布,翻译遵循 CC BY-SA 4.0 许可协议
base64 用于传输二进制数据。 (IE 不支持,无法编码空格字符。)
encodeURIComponent 只编码特殊字符。
一件有趣的事情是,如果没有 encodeURIComponent,你不能将 base64 应用于 unicode 字符串: https://developer.mozilla.org/en/DOM/window.btoa