dedlfix: Binary String verarbeiten

Beitrag lesen

Tach!

FileReader.readAsBinaryString(blob) gibt mir einen Binary String. Die einzige Möglichkeit die ich gefunden habe um den zu verarbeiten: Byte für Byte durchzugehen um mit escape(byte) an die jeweilige Bytewertigkeit zu kommen.

Javascript kennt keinen Datentyp Byte. Der Binärstring, den man da bekommt, ist anscheinend mit Hilfe von außerhalb von Javascript laufendem Code erzeugt worden. Das was in result vom FileReader steht ist jedenfalls ein Javascript-String. Diese enthalten nur Unicode-Zeichen, aber an die Bytes kommt man nicht (direkt). readAsBinaryString() ist aber so clever, dass es byteweise aus der Quelle liest und das entsprechende Zeichen aus dem Unicode-Bereich U+0000..U+00FF in das Ergebnis schreibt. Dessen CodePoint-Nummer kann man ermitteln mit den String-Methoden charCodeAt() oder codePointAt(). Die beiden Methoden sind nicht identisch, ergeben aber in dem Fall dasselbe.

Das kanns nicht sein. Welche andere Möglichkeiten gibt es zum Verarbeiten eines BinaryString in JS?

Javascript ist nicht angetreten, um unterhalb von Zeichen und Number zu operieren. Es verbirgt solche Details wie Bytes oder konkrete Repräsentationen à la IEEE 754. Dass man trotzdem an der einen oder anderen Stelle an einige dieser Details rankommen kann, ist der Tatsache geschuldet, dass man das zum Interagieren mit der restlichen Welt braucht. Was auch immer du versuchst, um an die darunterliegende Repräsentation von Daten zu gelangen, ist in meinen Augen ein Arbeiten entgegen der Philosophie von Javascript.

dedlfix.