MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / encode64

Function encode64

src/lib/libbrowser.js:104–127  ·  view source on GitHub ↗
(data)

Source from the content-addressed store, hash-verified

102 if (done) return;
103 err(`warning: browser could not fully decode audio ${name}, trying slower base64 approach`);
104 function encode64(data) {
105 var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
106 var PAD = '=';
107 var ret = '';
108 var leftchar = 0;
109 var leftbits = 0;
110 for (var i = 0; i < data.length; i++) {
111 leftchar = (leftchar << 8) | data[i];
112 leftbits += 8;
113 while (leftbits >= 6) {
114 var curr = (leftchar >> (leftbits-6)) & 0x3f;
115 leftbits -= 6;
116 ret += BASE[curr];
117 }
118 }
119 if (leftbits == 2) {
120 ret += BASE[(leftchar&3) << 4];
121 ret += PAD + PAD;
122 } else if (leftbits == 4) {
123 ret += BASE[(leftchar&0xf) << 2];
124 ret += PAD;
125 }
126 return ret;
127 }
128 audio.src = 'data:audio/x-' + name.slice(-3) + ';base64,' + encode64(byteArray);
129 finish(audio); // we don't wait for confirmation this worked - but it's worth trying
130 };

Callers 1

initFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected