TextEncoderStream: readable property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨September 2022⁩.

Note: This feature is available in Web Workers.

The readable read-only property of the TextEncoderStream interface returns a ReadableStream that emits encoded binary data as Uint8Array chunks.

Value

A ReadableStream.

Examples

This example creates a TextEncoderStream that encodes strings as UTF-8. It writes some strings to the writable stream, then reads the encoded binary data from the readable stream.

js
const stream = new TextEncoderStream();

// Write data to be encoded
const data = "你好世界";
const writer = stream.writable.getWriter();
writer.write(data);
writer.close();

// Read compressed data
const reader = stream.readable.getReader();
let done = false;
let output = [];
while (!done) {
  const result = await reader.read();
  if (result.value) {
    output.push(...result.value);
  }
  done = result.done;
}
console.log(new Uint8Array(output).toBase64()); // 5L2g5aW95LiW55WM

Specifications

Specification
Streams
# dom-generictransformstream-readable

Browser compatibility

See also