Tôi đã được đọc SWF format sẵn trên trang web của Adobe và nó đề cập rằng để tiết kiệm không gian, bit biến được sử dụng để nguyên cửa hàng hoặc phao nổi (trang 17 trong pdf)bit dữ liệu canh Reading
Tôi có luôn làm việc với dữ liệu được liên kết byte, do đó, không đưa ra nhiều suy nghĩ cho các tệp được căn chỉnh bit hoặc có căn chỉnh biến nơi thông tin được lưu trữ trong mỗi byte. Ví dụ, bạn có thể có một cấu trúc chứa bốn số nguyên 13 bit được lưu trữ tuần tự (thay vì lưu chúng dưới dạng bốn số nguyên 16 bit). Ví dụ:
13 bit đầu tiên là số nguyên đầu tiên, 13 bit tiếp theo là số nguyên thứ hai, v.v. Nó đệm byte cuối cùng thích hợp để làm cho cấu trúc byte liên kết với phần còn lại của tệp, vì vậy 52 bit sẽ được đệm thành 56 bit, yêu cầu 7 byte để lưu trữ bốn số nguyên đó trái ngược với 8 byte.
- Làm cách nào để tiếp cận loại sự cố này?
- Làm cách nào tôi có thể làm việc với luồng byte ở cấp bit?
- Có điều gì tôi có thể sử dụng để giúp làm việc với dữ liệu này dễ dàng hơn không?
Tôi tưởng tượng giải pháp sẽ giảm xuống bằng cách sử dụng các phép toán bit trên mảng byte.
Một giải pháp ví dụ để phân tích cú pháp bốn số nguyên 13 bit sẽ là tốt đẹp để chứng minh việc sử dụng phương pháp được đề xuất của bạn.
..bởi vì tôi không thể cung cấp cho bạn câu trả lời đầy đủ, có lẽ ít nhất chỉ bạn vào 'BitArray' sẽ giúp :) –
Thông thường, cách tiếp cận là giữ một bộ đệm bit trong uint hoặc ulong, trích xuất những gì bạn cần và chuyển đổi trong một byte đầu vào mới khi không có đủ bit trong bộ đệm. – harold