-
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.
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; | |
} |
ERROR: Uncaught DOMException: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded
I am running it with typescript react. Any idea?
Thanks for this! The only solution that worked for me @borismus
How to convert this recordfile:///var/mobile/Containers/Data/Application/9C0F0870-EA7F-4CD2-9C42-30A3E9862012/Library/Caches/hello.m4a into binary format.
Thank you so much sir, very respects <3
Thank you very much for this, after a week of pulling my hair out. This is the only solution that works for me.
Thank you very much, you save my work
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
One liner to convert Base64 to Uint8Array:
One liner to convert Base64Url to Uint8Array: