Đối với một dự án, tôi cần phải làm việc với các loại tệp khác nhau từ một số trò chơi cũ và phần mềm có liên quan - tệp cấu hình, lưu, lưu trữ tài nguyên, v.v. Phần lớn trong số này chưa được ghi lại, cũng như không có công cụ nào hoạt động với chúng, vì vậy tôi phải thiết kế ngược các định dạng và xây dựng thư viện của riêng mình để xử lý chúng.
Mặc dù tôi không cho rằng có nhu cầu lớn đối với hầu hết nhu cầu đó, tôi dự định công bố kết quả của những nỗ lực của mình. Có bất kỳ tiêu chuẩn được chấp nhận cho các tài liệu định dạng tập tin? Nhìn xung quanh, có một số kiểu được sử dụng: một số, như Đặc tả định dạng tệp .ZIP , rất dài dòng; những người khác, như những người trên XentaxWiki, thì ngắn gọn hơn nhiều - tôi thấy một số trong số họ khó đọc; cá nhân tôi thích nhất là phần mô tả về Hệ thống tệp thẻ nhớ PlayStation 2 , bao gồm cả văn bản mô tả chi tiết và một số 'bản đồ bộ nhớ' với phần bù và như vậy - nó cũng phù hợp nhất với trường hợp sử dụng của tôi. Nó sẽ thay đổi một chút cho các định dạng khác nhau, nhưng có vẻ như cần có một số nguyên tắc chung mà tôi nên cố gắng tuân theo.
Chỉnh sửa: Tôi dường như không giải thích rất rõ những gì tôi muốn làm. Hãy để tôi xây dựng một ví dụ.
Tôi có thể có một số phần mềm cũ lưu trữ cấu hình của nó trong tệp 'nhị phân' - một loạt các bitfield, số nguyên, chuỗi và không có gì được dán bởi chương trình, nhưng không thể đọc được bằng con người. Tôi giải mã điều này. Tôi muốn ghi lại chính xác định dạng của tệp này là gì, theo cách có thể đọc được của con người, như một đặc điểm kỹ thuật để thực hiện một thư viện để phân tích và sửa đổi tệp này. Ngoài ra, tôi muốn người khác dễ hiểu điều này.
Có một số cách như vậy một tài liệu có thể được viết. Ví dụ PKZIP ở trên rất dài dòng và chủ yếu mô tả định dạng tệp trong văn bản miễn phí. Ví dụ về PS2 cung cấp các bảng về các loại giá trị, độ lệch và kích thước, với các nhận xét mở rộng về ý nghĩa của tất cả chúng. Nhiều người khác, như những người trên XentaxWiki, chỉ liệt kê các loại và kích cỡ biến, với rất ít hoặc không có lời bình luận nào.
Tôi hỏi liệu có bất kỳ tiêu chuẩn nào, giống như một hướng dẫn về phong cách mã hóa, cung cấp hướng dẫn về cách viết loại tài liệu này. Nếu không, có ví dụ xuất sắc nổi tiếng nào mà tôi nên thi đua không? Nếu không, ít nhất ai cũng có thể tóm tắt một số lời khuyên hữu ích?
struct
. Nó hoạt động khá tốt.