Rolf B: Binary String verarbeiten

Beitrag lesen

Hallo pl,

FileReader.readAsBinaryString(blob) gibt mir einen Binary String.

damit bist Du, wenn Du den Blob byteweise verarbeiten willst, schon ganz zu Anfang falsch abgebogen.

Korrekt wäre readAsArrayBuffer, und auf den legst Du ein Uint8Array. Und über das Uint8Array kannst Du dann per [] Operator auf die einzelnen Bytes als numbers zugreifen. Der Uint8Array Konstruktor könnte allerdings den ArrayBuffer kopieren und damit bei großen Blobs viel Speicher verputzen.

Alternativ legst Du auf den ArrayBuffer einen DataView und verwendest die get/setUint8 Methoden. Der DataView kopiert definitiv nicht.

Rolf

--
sumpsi - posui - clusi