buffer/src/base64.js

29 lines
584 B
JavaScript

import { encode, decode } from './helper.js'
// string 转 binary
export function str2bin(str) {
let bin = ''
let u8 = encode(str) // 转成Uint8Array
for (let i = 0; i < u8.length; i++) {
bin += String.fromCharCode(u8[i])
}
return bin
}
export function bin2str(b) {
let u8 = new Uint8Array(b.length)
for (let i = 0; i < u8.length; i++) {
u8[i] = b[i].charCodeAt(0)
}
return decode(u8)
}
// 支持对中文的base64编码
export function base64encode(str) {
return btoa(str2bin(str))
}
export function base64decode(str) {
return bin2str(atob(str))
}
浏览器版的Buffer对象模拟, 提供近似Node.js的BUffer对象的API
JavaScript 100%