Định dạng tập tin
Cấu trúc file > Định dạng dựa trên chunk

Trong loại cấu trúc file này, mỗi phần dữ liệu được nhúng vào một bộ chứa bằng cách nào đó xác định dữ liệu. Phạm vi của bộ chứa có thể được xác định bằng một số loại bắt đầu và đánh dấu kết thúc bằng một loại trường độ dài rõ ràng ở đâu đó hoặc theo các yêu cầu cố định của định nghĩa định dạng tập tin.
Trong suốt những năm 1970, nhiều chương trình đã sử dụng các định dạng thuộc loại chung này. Ví dụ: các trình xử lý văn bản như troff, Script và Scribe và xuất các file cơ sở dữ liệu như CSV. Electronic Arts và Commodore - Amiga cũng đã sử dụng loại định dạng tập tin này vào năm 1985, với định dạng tệp IFF (Interchange File Format).
Một container đôi khi được gọi là "chunk", mặc dù "chunk" cũng có thể ngụ ý rằng mỗi mảnh nhỏ và/hoặc khối đó không chứa các khối khác; nhiều định dạng không áp đặt những yêu cầu đó.
Thông tin xác định một "khối" cụ thể có thể được gọi là nhiều thứ khác nhau, thường là các thuật ngữ bao gồm "tên trường", "mã định danh", "nhãn" hoặc "thẻ". Các mã định danh thường có thể đọc được và phân loại các phần của dữ liệu: ví dụ: "họ", "địa chỉ", "hình chữ nhật", "tên phông chữ",v.v. Đây không giống với mã định danh theo nghĩa của khóa cơ sở dữ liệu hoặc số sê-ri (mặc dù mã định danh có thể xác định tốt dữ liệu được liên kết của nó như một khóa như vậy).
Với kiểu cấu trúc file này, các công cụ không biết một số định danh chunk nhất định chỉ cần bỏ qua những công cụ mà chúng không hiểu. Tùy thuộc vào ý nghĩa thực tế của dữ liệu bị bỏ qua, điều này có thể có hoặc không hữu ích (CSS xác định rõ ràng hành vi đó).
Khái niệm này đã được sử dụng lặp đi lặp lại bởi RIFF (Microsoft-IBM tương đương với IFF), PNG, lưu trữ JPEG, Các stream và file được mã hóa DER (Distinguished Encoding Rules) (được mô tả ban đầu trong CCITT X.409: 1984 và do đó có trước IFF) và Định dạng trao đổi dữ liệu có cấu trúc (SDXF).
Thật vậy, bất kỳ định dạng dữ liệu bằng cách nào đó phải xác định tầm quan trọng của các bộ phận cấu thành của nó và các dấu mốc biên được nhúng là một cách rõ ràng để làm như vậy:
Các tiêu đề MIME thực hiện điều này với nhãn được phân tách bằng dấu hai chấm ở đầu mỗi dòng logic. Các tiêu đề MIME không thể chứa các tiêu đề MIME khác, mặc dù nội dung dữ liệu của một số tiêu đề có các phần phụ có thể được trích xuất bằng các quy ước khác.
CSV và các file tương tự thường làm điều này bằng cách sử dụng bản ghi tiêu đề có tên trường và bằng dấu phẩy để đánh dấu ranh giới trường. Giống như MIME, CSV không có điều khoản nào cho các cấu trúc có nhiều hơn một cấp.
XML và họ hàng của nó có thể được coi là một loại định dạng dựa trên khối, vì các yếu tố dữ liệu được xác định bằng cách đánh dấu gần giống với định danh chunk. Tuy nhiên, nó có những lợi thế chính thức như lược đồ và xác nhận, cũng như khả năng thể hiện các cấu trúc phức tạp hơn như cây, DAG và biểu đồ. Nếu XML được coi là định dạng "chunk", thì SGML và IBM GML tiền nhiệm của nó là một trong những ví dụ sớm nhất về các định dạng đó.
JSON tương tự như XML mà không có lược đồ, tham chiếu chéo hoặc định nghĩa cho ý nghĩa của các tên trường lặp lại và thường thuận tiện cho các lập trình viên.
Bộ đệm giao thức lần lượt tương tự như JSON, đáng chú ý là thay thế các điểm đánh dấu ranh giới trong dữ liệu bằng số trường, được ánh xạ đến/từ tên theo một số cơ chế bên ngoài.