2011-10-15 29 views

Trả lời

15

Đây là một nỗ lực để thay thế phương pháp cũ sẽ lấy một "chuỗi" và cắt các phần của nó ra.

Bạn sẽ sử dụng một ArrayBuffer khi bạn cần một mảng đã nhập vì bạn có ý định làm việc với dữ liệu và một đốm màu khi bạn chỉ cần dữ liệu của tệp.

Blobs (theo spec anyway) có không gian cho một MIME và dễ dàng hơn để đưa vào API tệp HTML5 hơn các định dạng khác (nó có nguồn gốc từ nó).

ArrayBuffer cho phép chúng tôi làm việc với các mảng được nhập nhanh hơn thao tác chuỗi để làm việc với các byte cụ thể và cho phép chúng tôi xác định loại mảng thực sự là gì. Vì JavaScript không được đánh máy đúng cách, khó có thể lấy một tệp có thể được chia thành một mảng gồm 32 bit int hoặc có thể là 64 bit nổi (chỉ cần tưởng tượng 8 bit ints-- đó sẽ là một cơn ác mộng về hiệu suất với thao tác chuỗi và bitwise tính toán, đặc biệt là với unicode). Theo như tôi có thể nói bạn luôn có thể di chuyển một blob đến một bộ đệm mảng hoặc đến một biểu diễn chuỗi, nhưng điều này có nguồn gốc từ XHR cho phép các kịch bản nhanh hơn, đó là lợi thế chính.

Tôi muốn sử dụng blob để làm việc với API tệp, nhưng tôi sẽ sử dụng mảng để tính toán định dạng trước trên dữ liệu.

+0

Vì vậy, về cơ bản cho tốc độ thô Blob là con đường để đi? – Pacerier

Các vấn đề liên quan