@ivujs/i-utils
Version:
前端模块化 JavaScript 工具库
74 lines (71 loc) • 2.18 kB
JavaScript
import { encode, decode, encodeURI, decodeURI, fromUint8Array, toUint8Array, fromHex, toHex } from './base64.mjs';
/**
* Base64编码
* @param str 待编码的UTF8字符串
* @param urlSafe 是否生成URL安全的Base64(默认false)
* @returns Base64字符串
*/
function base64Encode(str, urlSafe = false) {
return encode(str, urlSafe);
}
/**
* Base64解码
* @param str 待解码的Base64字符串
* @returns 解码后的UTF8字符串
*/
function base64Decode(str) {
return decode(str);
}
/**
* URL安全Base64编码
* @param str 待编码的UTF8字符串
* @returns URL安全的Base64字符串
*/
function base64EncodeURI(str) {
return encodeURI(str);
}
/**
* URL安全Base64解码
* @param str 待解码的URL安全Base64字符串
* @returns 解码后的UTF8字符串
*/
function base64DecodeURI(str) {
return decodeURI(str);
}
/**
* Uint8Array转Base64字符串
* @param uint8Array 待编码的字节数组
* @param urlSafe 是否生成URL安全的Base64(默认false)
* @returns Base64字符串
*/
function base64FromUint8Array(uint8Array, urlSafe = false) {
return fromUint8Array(uint8Array, urlSafe);
}
/**
* Base64字符串转Uint8Array
* @param base64Str 待解码的Base64字符串
* @param urlSafe 是否为URL安全的Base64(默认false)
* @returns 解码后的字节数组
*/
function base64ToUint8Array(base64Str, urlSafe = false) {
return toUint8Array(base64Str, urlSafe);
}
/**
* 十六进制字符串转Base64字符串
* @param hexStr 待编码的十六进制字符串
* @param urlSafe 是否生成URL安全的Base64(默认false)
* @returns Base64字符串
*/
function base64FromHex(hexStr, urlSafe = false) {
return fromHex(hexStr, urlSafe);
}
/**
* Base64字符串转十六进制字符串
* @param base64Str 待解码的Base64字符串
* @param urlSafe 是否为URL安全的Base64(默认false)
* @returns 解码后的十六进制字符串
*/
function base64ToHex(base64Str, urlSafe = false) {
return toHex(base64Str, urlSafe);
}
export { base64Decode, base64DecodeURI, base64Encode, base64EncodeURI, base64FromHex, base64FromUint8Array, base64ToHex, base64ToUint8Array };