js 字符串转base64编码问题?

发布于 2022-09-12 02:16:49 字数 242 浏览 43 评论 0

//字符串转base64
function encode(str){
    var encode = encodeURI(str);
    var base64 = btoa(encode);
    return base64;
}

我用的是这个方法,但是为什么后端收到的数据却是这样的呢
image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

最偏执的依靠 2022-09-19 02:16:49

有个js-base64库 你试试

策马西风 2022-09-19 02:16:49

感觉你没有使用到btoa方法,encodeURI('<html>')的结果就是"%3Chtml%3E",你是不是把encode返回了,而没有返回base64啊。

如果没有你 2022-09-19 02:16:49

返给后端的是encode之后的base64吧 可以用fileReader直接转base64的

时光清浅 2022-09-19 02:16:49

字符串为啥要 base64?就是因为不能传二进制才 base64,你已经是字符串了,直接传就行了。btoa 没变化也正常。

encodeURI 的目的是把非 ASCII 字符转化成 UTF-8 编号,方便不支持 UTF-8 的系统和软件理解。

所以你这整个函数的表现是符合预期的,是你自己没想明白。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文