Tach!
Nun, Grund genug für einen kleinen Artikel welcher den ganzen Sachverhalt mal deutlich macht. Also wie JS, ganz ähnlich wie Perl, zwischen Bytesequenzen und Zeichenketten unterscheidet.
Das was du da siehst, sehe ich nicht. Du erzeugst aus einem String ein Blob-Objekt, das du dann weiterverarbeitest (mit der Methode FileReader.readAsBinaryString(), die eigentlich abgeschafft werden sollte und nur wegen Kompatibilität noch ein Gnadenbrot bekommt).
Zitat MDN zu Blob: A Blob object represents a file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format.
Die FileAPI-Spezifikation weiß dazu auch noch "A Blob object refers to a byte sequence".
Da gibt es also das Blob-Objekt aus der FileAPI, das ein Hilfsmittel ist, um mit Bytesequenzen umgehen zu können. "Javascript unterscheidet zwischen Bytesequenzen und Zeichenketten" ist da keine Aussage, die ich daraus lesen könnte. Vielmehr kennt Javascript nach wie vor keine Bytes als Typ. Es kommt lediglich da, wo die FileAPI zur Verfügung steht, die Möglichkeit hinzu, mit Bytesequenzen umgehen zu können.
dedlfix.