Limited availability
Die setFromHex()
-Methode von Uint8Array
-Instanzen befüllt dieses Uint8Array
-Objekt mit Bytes aus einem hex-kodierten String und gibt ein Objekt zurück, das angibt, wie viele Bytes gelesen und geschrieben wurden.
Diese Methode analysiert den String in ein Byte-Array. Um den String in eine einzelne Zahl umzuwandeln, verwenden Sie stattdessen die parseInt()
-Funktion mit radix
auf 16
gesetzt.
string
Ein hexadezimaler String, der Bytes kodiert, die in ein Uint8Array
geschrieben werden sollen. Der String muss:
Uint8Array.prototype.setFromBase64()
).Beachten Sie, dass der String nur bis zu dem Punkt gelesen wird, an dem das Array gefüllt ist, daher wird ungültige Hex-Syntax nach diesem Punkt ignoriert.
Ein Objekt, das die folgenden Eigenschaften enthält:
read
Die Anzahl der hexadezimalen Zeichen, die aus dem Eingabestring gelesen wurden. Wenn die dekodierten Daten in das Array passen, entspricht dies der Länge des Eingabestrings: andernfalls ist es die Anzahl der vollständigen hexadezimalen Zeichen, die in das Array passen.
written
Die Anzahl der Bytes, die in das Uint8Array
geschrieben wurden. Wird niemals gröÃer als die byteLength
dieses Uint8Array
sein.
SyntaxError
Wird ausgelöst, wenn der Eingabestring Zeichen auÃerhalb des Hex-Alphabets enthält oder seine Länge ungerade ist.
TypeError
Wird ausgelöst, wenn der Eingabestring kein String ist.
Dieses Beispiel entschlüsselt einen hexadezimalen String in ein vorhandenes Uint8Array
.
const uint8Array = new Uint8Array(8);
const result = uint8Array.setFromHex("cafed00d");
console.log(result); // { read: 8, written: 4 }
console.log(uint8Array); // Uint8Array(8) [202, 254, 208, 13, 0, 0, 0, 0]
Entschlüsseln eines groÃen Strings in ein kleines Array
Wenn der String mehr Daten enthält, als das Array aufnehmen kann, schreibt die Methode nur so viele Bytes, wie das Array aufnehmen kann.
const uint8Array = new Uint8Array(4);
const result = uint8Array.setFromHex("cafed00d-some random stuff");
console.log(result); // { read: 8, written: 4 }
console.log(uint8Array); // Uint8Array(4) [202, 254, 208, 13]
Ãberschüssige Zeichen werden ignoriert, auch wenn sie ungültig sind. Die Gesamtlänge des Eingabestrings muss jedoch gerade sein.
Festlegen von Daten an einem bestimmten OffsetDie setFromHex()
-Methode beginnt immer am Anfang des Uint8Array
zu schreiben. Wenn Sie in die Mitte des Arrays schreiben möchten, können Sie stattdessen in ein TypedArray.prototype.subarray()
schreiben.
const uint8Array = new Uint8Array(8);
// Start writing at offset 2
const result = uint8Array.subarray(2).setFromHex("cafed00d");
console.log(result); // { read: 8, written: 4 }
console.log(uint8Array);
// Uint8Array(8) [0, 0, 202, 254, 208, 13, 0, 0]
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4