Hallo pl,
Nur mus man den BinaryString ersteinmal haben.
Ja. Das hatte ich auch schon überlegt. Aber das hängt jetzt von deiner Ausgangsbasis ab. Wenn das eine lokale Datei ist, die in einem <input type=file> selektiert wurde, ist das schon ein Blob (File=Blob). Wenn Du die Ressource per Fetch API vom Server holst (nicht im IE, keine Ahnung ob man das polyfillen kann), kannst Du auf den Response-Objekt aussuchen ob Du einen Blob oder einen ArrayBuffer haben willst. Aber im XMLHttpRequest kannst Du auch zwischen Blob und ArrayBuffer wählen, wenn Du den responseType vorher setzt.
Ich hatte heute morgen mein Performance-Fiddle nochmal umgeschrieben. Es ist jetzt Promise-gesteuert, was den serialisierten Umgang mit FileReader einfacher macht, und da ist jetzt auch eine Messung von btoa drin. Das Ding ist grob acht- bis zehnmal schneller als der handgemachte Encode, auch wenn man die Konvertierung ArrayBuffer->BinaryString mitmisst.
Rolf
sumpsi - posui - clusi