js 字符串转base64编码问题?
//字符串转base64
function encode(str){
var encode = encodeURI(str);
var base64 = btoa(encode);
return base64;
}
我用的是这个方法,但是为什么后端收到的数据却是这样的呢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
有个js-base64库 你试试
感觉你没有使用到btoa方法,
encodeURI('<html>')
的结果就是"%3Chtml%3E"
,你是不是把encode返回了,而没有返回base64啊。返给后端的是encode之后的base64吧 可以用fileReader直接转base64的
字符串为啥要 base64?就是因为不能传二进制才 base64,你已经是字符串了,直接传就行了。
btoa
没变化也正常。encodeURI
的目的是把非 ASCII 字符转化成 UTF-8 编号,方便不支持 UTF-8 的系统和软件理解。所以你这整个函数的表现是符合预期的,是你自己没想明白。