相关文章推荐
近视的机器猫  ·  望京地区顶尖中学入学方式合集!_北京幼升小网·  1 年前    · 
深情的登山鞋  ·  搜索结果·  1 年前    · 
卖萌的烤面包  ·  李荣融接受CCTV《新闻会客厅》栏目专访谈国 ...·  1 年前    · 
乐观的火锅  ·  上海虹桥高铁站和上海虹桥火车站是一个站吗·  1 年前    · 
睡不着的毛衣  ·  云南大学民族学与社会学学院2024年硕士研究 ...·  1 年前    · 
小百科  ›  vue.js客服系统实时聊天项目开发(十七)解决url get传参后通过base64解密问题-腾讯云开发者社区-腾讯云
url base64
活泼的针织衫
2 年前
作者头像
唯一Chat
0 篇文章

vue.js客服系统实时聊天项目开发(十七)解决url get传参后进行base64解密问题

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
社区首页 > 专栏 > 陶士涵的菜地 > vue.js客服系统实时聊天项目开发(十七)解决url get传参后进行base64解密问题

vue.js客服系统实时聊天项目开发(十七)解决url get传参后进行base64解密问题

作者头像
唯一Chat
发布 于 2023-02-17 13:03:35
647 0
发布 于 2023-02-17 13:03:35
举报

有些参数需要在url的GET里传递,但是为了防止特殊字符问题,我转成了base64编码。

但是js进行解码的时候,总是报错:

报错: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.

这是因为base64在url中会进行url编码,+号会被转成%20

这就需要我们在拿到get参数后,进行url解码,js自带的解码函数会把%20转成空格,这时就会转码失败

下面函数是一些兼容处理

function urlDecode(str) {
  return decodeURIComponent(str.replace(/\%20/g, '+'));
// Base64解密
function b64DecodeUnicode(str) {
    str=urlDecode(str);
  return decodeURIComponent(atob(str.replace(/\_/g, '/').replace(/\-/g, '+'))
 
推荐文章
近视的机器猫  ·  望京地区顶尖中学入学方式合集!_北京幼升小网
1 年前
深情的登山鞋  ·  搜索结果
1 年前
卖萌的烤面包  ·  李荣融接受CCTV《新闻会客厅》栏目专访谈国资监管问题-国务院 ...
1 年前
乐观的火锅  ·  上海虹桥高铁站和上海虹桥火车站是一个站吗
1 年前
睡不着的毛衣  ·  云南大学民族学与社会学学院2024年硕士研究生招生复试录取工作 ...
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
小百科 - 百科知识指南
© 2024 ~ 沪ICP备11025650号