/** * Base64编码工具 */ const base64EncodeChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' export function base64Encode(str) { let out = '' let i = 0 const len = str.length let c1, c2, c3 while (i < len) { c1 = str.charCodeAt(i++) & 0xff if (i === len) { out += base64EncodeChars.charAt(c1 >> 2) out += base64EncodeChars.charAt((c1 & 0x3) << 4) out += '==' break } c2 = str.charCodeAt(i++) if (i === len) { out += base64EncodeChars.charAt(c1 >> 2) out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4)) out += base64EncodeChars.charAt((c2 & 0xF) << 2) out += '=' break } c3 = str.charCodeAt(i++) out += base64EncodeChars.charAt(c1 >> 2) out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4)) out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6)) out += base64EncodeChars.charAt(c3 & 0x3F) } return out } export default { base64Encode }