原生js实现base64编码与解码字符串及对象
前言:最近维护了node开发jade模版的项目,场面一度尴尬,和平时做的大相径庭,好不难受。特别是有需要把参数转换为base64拼接到url上,各种姿势试了,只能用原生方法编码解码,来总结一下。 一. Window 中的 btoa()和atob()解决字符串 该编码和解码只实用于字符串。btoa()该方法使用 "A-Z", "a-z", "0-9", "+", "/" 和 "=" 字符来编码字符串,返回一个 base-64 编码的字符串;atob() 用于解码。使用方法:`编码:const newBase = window.btoa("test");解码:const oldValue = window.atob(newBase);`。 注:如果有中文,需要使用URL转码配合使用。使用方法:`编码:const newBase = window.btoa(window.encodeURIComponent(JSON.stringify("原生js实现base64编码与解码字符串及对象")));解码:const oldValue =window.decodeURIComponent(window.atob(newBase));` 二. Node.js Buffer(缓冲区)解决对象 JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。但在处理像TCP流或文件流时