2010-02-09 43 views
19

Có bất kỳ triển khai bộ mã hóa DEFLATE nguồn mở nào cho JavaScript không? Tôi cần nó để tạo ra một định dạng nhị phân trên phía máy khách yêu cầu DEFLATE.THỰC HIỆN DEFLATE JavaScript

Trả lời

13

Tôi tin rằng Pako (https://github.com/nodeca/pako) hiện là triển khai javascript nhanh nhất về giảm xóc và các phương pháp zlib khác (inflate/gzip/ungzip). Có điểm chuẩn trên trang github. Nó cũng hỗ trợ chunking nếu bạn cần phải làm việc với các đốm màu lớn.

Tuyên bố từ chối trách nhiệm: Tôi là tác giả của mã này.

+0

nó dành cho node.js ... –

+1

'bower install pako'. Xem readme. Nó dành cho trình duyệt. – Vitaly

+0

Tôi đã thấy readme ... bạn có thấy mã không? khi các tệp trong dist đang được cố gắng làm việc trên trình duyệt, chúng sử dụng zlib trong thư mục lib là node.js mà không cần thay đổi nó ... –

21

Tôi đã tìm thấy bộ thực thi bộ mã hóa và giải mã DEFLATE tại http://github.com/dankogai/js-deflate và cả hai đều hoạt động hoàn hảo.

+2

Lưu ý rằng js-deflate dự kiến ​​các chuỗi có 1 byte cho mỗi ký tự, nhưng JS sử dụng mã hóa UCS-2 bên trong. Vì vậy, bạn nên áp dụng mã hóa base64 trước tiên hoặc chuyển đổi thành nguyên UTF-8 (xem http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html cho các phương pháp chuyển đổi) – user123444555621

+4

Ví dụ của js-deflate trong hành động: http://jsfiddle.net/mwolfetech/X2NL6/ – mwolfetech

+3

Nếu bạn thiết lập mức độ nén xuống 3 (xuống từ mặc định 6), nó sẽ nhân đôi ký tự cuối cùng! Ngoài ra, đôi khi nó sẽ tạo ra một đầu ra không hợp lệ. –

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