在日常的工作中,我经常是使用base64_encode进行数据的传输与接收,没有出现过问题,可是今天我在接入第三方的应用时,我发现接口要求对数据进行 base64_encode_url ,让我觉得很疑惑,这两者的区别在哪里呢?
base64_encode_url 将 + / = 都替换了,这是为了什么呢?在什么应用场景下使用的呢? :
str_replace(['+','/','='], ['-','_',''],base64_encode($data))
在日常的工作中,我经常是使用base64_encode进行数据的传输与接收,没有出现过问题,可是今天我在接入第三方的应用时,我发现接口要求对数据进行 base64_encode_url ,让我觉得很疑惑,这两者的区别在哪里呢?
base64_encode_url 将 + / = 都替换了,这是为了什么呢?在什么应用场景下使用的呢? :
str_replace(['+','/','='], ['-','_',''],base64_encode($data))
15 回答8.2k 阅读
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
5 回答4.9k 阅读✓ 已解决
8 回答6k 阅读
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
因为在 url 中,
+
、/
、=
都是有独立含义的,在url中传输会有影响,甚至错误。在 base64 中,
=
不是必须的,用来做类似填充的作用。在URL中的应用