Created
June 18, 2011 02:46
-
Star
(153)
You must be signed in to star a gist -
Fork
(19)
You must be signed in to fork a gist
-
-
Save borismus/1032746 to your computer and use it in GitHub Desktop.
Convert a base64 string into a binary Uint8 Array
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var BASE64_MARKER = ';base64,'; | |
function convertDataURIToBinary(dataURI) { | |
var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length; | |
var base64 = dataURI.substring(base64Index); | |
var raw = window.atob(base64); | |
var rawLength = raw.length; | |
var array = new Uint8Array(new ArrayBuffer(rawLength)); | |
for(i = 0; i < rawLength; i++) { | |
array[i] = raw.charCodeAt(i); | |
} | |
return array; | |
} |
Thank you, good work !
Thank you man! you save my day!
Thanks buddy, save my day!
It can be even shorter (1 line): https://gist.github.com/av01d/e60f6edf3c5be6cd403eabb3d1f838f4
A note on the one-liners: While Uint8Array.from(atob(base64), (v) => v.charCodeAt(0));
really looks nice, I ran into memory issues on Chrome when converting a 200MB binary while the for-loop worked flawlessly
Uncaught DOMException: String contains an invalid character
convertDataURIToBinary debugger eval code:6
downloadFile debugger eval code:17
debugger eval code:1
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thank you very much, you save my work