何时使用atob,encodeURIComponent和btoa,decodeURIComponent
问题描述:
何时使用atob,encodeURIComponent,btoa,decodeURIComponent。它们是否可以一起使用,即atob(encodeURIComponent(...))?如果不是,那么何时将使用bobo_&以及何时将encodeURIComponent & decodeURIComponent被使用。何时使用atob,encodeURIComponent和btoa,decodeURIComponent
答
btoa()
以base-64格式编码一串二进制数据。这最常用的用途是从文件内容创建一个data:
URI(例如,将JPEG或GIF文件转换为您直接合并到页面中的URI,而不是引用远程文件)。
atob()
执行相反的操作:给定一个base-64字符串,它返回二进制数据。
encodeURIComponent()
用于执行将在URI中使用的字符串的URL编码。这将在URI中具有特殊含义的字符转换为%
,然后是十六进制编码,例如,空间变成%20
。这通常用于创建将在重定向或AJAX请求中使用的URL参数,或将在XMLHTTPRequest.send()
中发送的数据。
decodeURIComponent()
执行encodeURIComponent()
的反转,所以如果您有"foo%20bar"
它将返回"foo bar"
。
这很少见,您需要将URL编码和base-64一起用于同一个字符串。
感谢您的回复。我很感激。 – helfi