记一次 URL转义的坑

young 85 2024-03-14

项目某接口将加密数据转成 Base64 后,返回给前端,前端带着这个字符串请求其他接口后报错。
经过排查,发现接口接收到的数据与返回给前端的数据不一致,其中+号变成了空格。

查阅资料后发现,URL会将“+”和“%20”都认为是空格,因此产生了 bug,后将+全部转换为“%2B”后返回给前端,问题解决(也可以对返回的 Base64进行 URL Encode)。

参考资料:https://blog.csdn.net/qq_43061215/article/details/126121193