[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/DataView [Back]  [Original]

DataView - JavaScript | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

DataView

Baseline Weitgehend verfgbar *

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.

* Einige Teile dieser Funktion werden mglicherweise unterschiedlich gut untersttzt.

Die DataView Ansicht bietet eine Low-Level-Schnittstelle zum Lesen und Schreiben mehrerer Zahlentypen in einem binren ArrayBuffer, ohne sich um die Endianness der Plattform kmmern zu mssen.

In diesem Artikel

Beschreibung

Endianness

Mehrbyte-Zahlenformate werden im Speicher unterschiedlich dargestellt, je nach Maschinenarchitektur siehe Endianness fr eine Erklrung. DataView-Zugriffs-Methoden bieten explizite Kontrolle darber, wie auf Daten zugegriffen wird, unabhngig von der Endianness des ausfhrenden Computers. Zum Beispiel ist WebAssembly-Speicher immer little-endian, daher sollten Sie DataView anstelle von typisierten Arrays verwenden, um Mehrbyte-Werte zu lesen und zu schreiben. Siehe WebAssembly.Memory fr ein Beispiel.

js
const littleEndian = (() => {
  const buffer = new ArrayBuffer(2);
  new DataView(buffer).setInt16(0, 256, true /* littleEndian */);
  // Int16Array uses the platform's endianness.
  return new Int16Array(buffer)[0] === 256;
})();
console.log(littleEndian); // true or false

Hinweis: DataView liest und schreibt standardmig big-endian, aber die meisten Plattformen verwenden little-endian.

Konstruktor

DataView()

Erstellt ein neues DataView-Objekt.

Instanz-Eigenschaften

Diese Eigenschaften sind auf DataView.prototype definiert und werden von allen DataView-Instanzen geteilt.

DataView.prototype.buffer

Gibt den ArrayBuffer zurck, auf den das DataView verweist.

DataView.prototype.byteLength

Gibt die Lnge (in Bytes) des DataView zurck.

DataView.prototype.byteOffset

Gibt den Versatz (in Bytes) des DataView ab dem Anfang seines ArrayBuffer zurck.

DataView.prototype.constructor

Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Fr DataView-Instanzen ist der anfngliche Wert der DataView-Konstruktor.

DataView.prototype[Symbol.toStringTag]

Der anfngliche Wert der [Symbol.toStringTag]-Eigenschaft ist der String "DataView". Diese Eigenschaft wird in Object.prototype.toString() verwendet.

Instanz-Methoden

DataView.prototype.getBigInt64()

Liest 8 Bytes ab dem angegebenen Byte-Versatz dieses DataView und interpretiert sie als 64-Bit-Ganzzahl mit Vorzeichen.

DataView.prototype.getBigUint64()

Liest 8 Bytes ab dem angegebenen Byte-Versatz dieses DataView und interpretiert sie als 64-Bit-Ganzzahl ohne Vorzeichen.

DataView.prototype.getFloat16()

Liest 2 Bytes ab dem angegebenen Byte-Versatz dieses DataView und interpretiert sie als 16-Bit-Gleitkommazahl.

DataView.prototype.getFloat32()

Liest 4 Bytes ab dem angegebenen Byte-Versatz dieses DataView und interpretiert sie als 32-Bit-Gleitkommazahl.

DataView.prototype.getFloat64()

Liest 8 Bytes ab dem angegebenen Byte-Versatz dieses DataView und interpretiert sie als 64-Bit-Gleitkommazahl.

DataView.prototype.getInt16()

Liest 2 Bytes ab dem angegebenen Byte-Versatz dieses DataView und interpretiert sie als 16-Bit-Ganzzahl mit Vorzeichen.

DataView.prototype.getInt32()

Liest 4 Bytes ab dem angegebenen Byte-Versatz dieses DataView und interpretiert sie als 32-Bit-Ganzzahl mit Vorzeichen.

DataView.prototype.getInt8()

Liest 1 Byte am angegebenen Byte-Versatz dieses DataView und interpretiert es als 8-Bit-Ganzzahl mit Vorzeichen.

DataView.prototype.getUint16()

Liest 2 Bytes ab dem angegebenen Byte-Versatz dieses DataView und interpretiert sie als 16-Bit-Ganzzahl ohne Vorzeichen.

DataView.prototype.getUint32()

Liest 4 Bytes ab dem angegebenen Byte-Versatz dieses DataView und interpretiert sie als 32-Bit-Ganzzahl ohne Vorzeichen.

DataView.prototype.getUint8()

Liest 1 Byte am angegebenen Byte-Versatz dieses DataView und interpretiert es als 8-Bit-Ganzzahl ohne Vorzeichen.

DataView.prototype.setBigInt64()

Nimmt ein BigInt und speichert es als 64-Bit-Ganzzahl mit Vorzeichen in den 8 Bytes ab dem angegebenen Byte-Versatz dieses DataView.

DataView.prototype.setBigUint64()

Nimmt ein BigInt und speichert es als 64-Bit-Ganzzahl ohne Vorzeichen in den 8 Bytes ab dem angegebenen Byte-Versatz dieses DataView.

DataView.prototype.setFloat16()

Nimmt eine Zahl und speichert sie als 16-Bit-Gleitkommazahl in den 2 Bytes ab dem angegebenen Byte-Versatz dieses DataView.

DataView.prototype.setFloat32()

Nimmt eine Zahl und speichert sie als 32-Bit-Gleitkommazahl in den 4 Bytes ab dem angegebenen Byte-Versatz dieses DataView.

DataView.prototype.setFloat64()

Nimmt eine Zahl und speichert sie als 64-Bit-Gleitkommazahl in den 8 Bytes ab dem angegebenen Byte-Versatz dieses DataView.

DataView.prototype.setInt16()

Nimmt eine Zahl und speichert sie als 16-Bit-Ganzzahl mit Vorzeichen in den 2 Bytes am angegebenen Byte-Versatz dieses DataView.

DataView.prototype.setInt32()

Nimmt eine Zahl und speichert sie als 32-Bit-Ganzzahl mit Vorzeichen in den 4 Bytes am angegebenen Byte-Versatz dieses DataView.

DataView.prototype.setInt8()

Nimmt eine Zahl und speichert sie als 8-Bit-Ganzzahl mit Vorzeichen im Byte am angegebenen Byte-Versatz dieses DataView.

DataView.prototype.setUint16()

Nimmt eine Zahl und speichert sie als 16-Bit-Ganzzahl ohne Vorzeichen in den 2 Bytes am angegebenen Byte-Versatz dieses DataView.

DataView.prototype.setUint32()

Nimmt eine Zahl und speichert sie als 32-Bit-Ganzzahl ohne Vorzeichen in den 4 Bytes am angegebenen Byte-Versatz dieses DataView.

DataView.prototype.setUint8()

Nimmt eine Zahl und speichert sie als 8-Bit-Ganzzahl ohne Vorzeichen im Byte am angegebenen Byte-Versatz dieses DataView.

Beispiele

Verwendung von DataView

js
const buffer = new ArrayBuffer(16);
const view = new DataView(buffer, 0);

view.setInt16(1, 42);
view.getInt16(1); // 42

Spezifikationen

Spezifikation
ECMAScript 2027 LanguageSpecification
# sec-dataview-objects

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page