Bun

指南二進制資料

使用 Bun 將 Uint8Array 轉換為 ReadableStream

從 Uint8Array 建立 ReadableStream 的簡單方法是使用 ReadableStream 建構函式,並將整個陣列作為單一區塊放入佇列。對於較大的區塊,這可能不太理想,因為它實際上並非「串流」資料。

const arr = new Uint8Array(64);
const stream = new ReadableStream({
  start(controller) {
    controller.enqueue(arr);
    controller.close();
  },
});

若要以較小的區塊串流資料,首先從 Uint8Array 建立一個 Blob 實例。然後使用 Blob.stream() 方法建立一個 ReadableStream,以指定大小的區塊串流資料。

const arr = new Uint8Array(64);
const blob = new Blob([arr]);
const stream = blob.stream();

區塊大小可以透過將數字傳遞給 .stream() 方法來設定。

const arr = new Uint8Array(64);
const blob = new Blob([arr]);

// set chunk size of 1024 bytes
const stream = blob.stream(1024);

請參閱 文件 > API > 二進制資料,以取得關於使用 Bun 操作二進制資料的完整文件。