你什么时候使用:
它们应该一起使用吗,例如:
atob(encodeURIComponent(...))
如果不是,什么时候使用btoa()
和atob()
,什么时候使用encodeURIComponent()
和decodeURIComponent( )
被使用?
最佳答案
btoa()
以 base-64 格式对二进制数据字符串进行编码。最常见的用途是从文件内容创建 data:
URI(例如,将 JPEG 或 GIF 文件转换为 data:
您直接合并的 URI进入页面而不是引用远程文件)。
atob()
执行相反的操作:给定一个 base-64 字符串,它返回二进制数据。
encodeURIComponent()
用于执行将在 URI 中使用的字符串的 URL 编码。这会将 URI 中具有特殊含义的字符转换为 %
后跟十六进制编码,例如空格变为 %20
。这通常用于创建将在重定向或 AJAX 请求中使用的 URL 参数,或将在 XMLHTTPRequest.send()
中发送的数据。
decodeURIComponent()
执行 encodeURIComponent()
的反向操作,因此如果您有 "foo%20bar"
,它将返回 “foo 栏”
。
您很少需要对同一个字符串同时使用 URL 编码和 base-64。
关于javascript - 何时使用 btoa()、atob()、encodeURIComponent() 和 decodeURIComponent()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46206618/