Tour de WebAssembly Table des Matières

Encodage/Décodage UTF-8

JavaScript fournit des fonctions utilitaires pour écrire/lire des chaînes UTF-8 vers/depuis les octets à l'intérieur des objets ArrayBuffer.

let bytes = new ArrayBuffer(8);
const data = new Uint8Array(bytes);
data[0] = 83; // S
data[1] = 65; // A
data[2] = 76; // L
data[3] = 85; // U
data[4] = 84; // T
data[5] = 33; // !
let str_len = 6;
const utf8dec = new TextDecoder("utf-8");
// Le 'sous-tableau' (en anglais subarray) prend l'index de début et de fin.
let text = utf8dec.decode(data.subarray(0,str_len));
console.log(text) // Salut!

const utf8enc = new TextEncoder("utf-8");
let text_bytes = utf8enc.encode(text);
console.log(text_bytes) 
// Uint8Array(6) [ 83, 65, 76, 85, 84, 33 ]
Mascot Ferris