自定义函数JSA_A_BINARYSTRINGTOBASE64STRING二进制字符串转base64
function JSA_A_BINARYSTRINGTOBASE64STRING(binaryString) { //二进制字符串 转 base64String
binaryString = binaryString.valueOf();
let uint8Array = new Uint8Array(binaryString.length);
for (let i = 0; i < binaryString.length; i++) {
uint8Array[i] = binaryString.charCodeAt(i) & 0xFF;
}
const keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
let base64String = "";
for (let i = 0; i < uint8Array.length; i += 3) {
const byte1 = uint8Array[i];
const byte2 = i + 1 < uint8Array.length ? uint8Array[i + 1] : 0;
const byte3 = i + 2 < uint8Array.length ? uint8Array[i + 2] : 0;
const enc1 = byte1 >> 2;
const enc2 = ((byte1 & 3) << 4) | (byte2 >> 4);
const enc3 = ((byte2 & 15) << 2) | (byte3 >> 6);
const enc4 = byte3 & 63;
base64String += keyStr[enc1] +
keyStr[enc2] +
(i + 1 >= uint8Array.length ? '=' : keyStr[enc3]) +
(i + 2 >= uint8Array.length ? '=' : keyStr[enc4]);
}
return base64String
}插入函数对话框、函数参数对话框:
加载宏文件function Workbook_Open(){}中添加以下代码。
Application.MacroOptions("JSA_A_BINARYSTRINGTOBASE64STRING", "二进制字符串 转 base64字符串", undefined, undefined, undefined, undefined, 14, undefined, undefined, undefined, ['二进制字符串。']);