JavaScript unterstützt sehr wenig rohe Binärdaten. Im Allgemeinen ist es das Beste, innerhalb dieser Einschränkung zu leben. Es gibt jedoch einen Trick, den ich für ein Projekt von mir in Betracht ziehe, bei dem riesige Bitmaps manipuliert werden müssen, um Operationen in einer OLAP-Datenbank zu setzen. Dies funktioniert nicht in IE.
Die Grundidee ist dies: Erzwinge die Binärdaten in ein PNG, um es an JavaScript zu senden. Zum Beispiel könnte eine Bitmap ein Schwarz-Weiß-PNG sein, wobei Schwarz 100% transparent ist. Verwenden Sie Canvas-Operationen, um eine bitweise Datenbearbeitung durchzuführen.
Die HTML5 Canvas enthält eine pixel array type, die Zugriff auf Bytes in einem Bild ermöglicht. Canvas unterstützt auch Compositing-Vorgänge wie XOR. Aufhellen und Abdunkeln sollte UND und ODER machen können. Diese Operationen werden wahrscheinlich in jedem Browser, der sie unterstützt, gut optimiert sein - wahrscheinlich unter Verwendung der GPU.
Wenn jemand dies versucht, lassen Sie mich bitte wissen, wie gut es funktioniert.
Ich glaube gezwungen, darauf zu hinweisen, dass diese Antwort jetzt im Jahr 2012. Sie haben veraltet ist jetzt _Typed Arrays_ http://www.khronos.org/registry/typedarray/specs/latest/ Ex: 'var arr = Uint8Array (new ArrayBuffer (1000)); ' – lenkite
@lenkite - ist das eine mögliche Erweiterung, oder ist es etwas, das in den meisten aktuellen Browsern verfügbar ist (die meisten Browser sind auf die 2/3 Jahre alte Marke gesetzt)? –
@DannyStaple - verfügbar in einer ermutigenden Anzahl von heutigen Browsern, abgesehen von (natürlich) IE: http://caniuse.com/#feat=typedarrays –