29 lines
584 B
JavaScript
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))
|
|
}
|