自定义函数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, ['二进制字符串。']);

云南省
浏览 22
收藏
1
分享
1 +1
1
+1
全部评论 1
 
497128657
关系图:https://bbs.wps.cn/topic/68275
· 云南省
回复