1 Data Structure & Algorithm Xây dựng tập tin có cấu trúc (Structured files) Nguyễn Tri Tuấn Khoa CNTT – ĐH.KHTN.Tp.HCM Email: nttuan@ fit.hcmuns.edu.vn Sprint 2006 Data Structure & Algorithm - Structured files - Nguyen Tri Tuan, DH.KHTN Tp.HCM 2 Structured files Giới thiệu Tập tin văn bản thô (plain text) Tập tin nhị phân (binary) Tập tin hình ảnh PCX Tập tin CSDL DBF
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Data Structure & Algorithm
Xây dựng tập tin có cấu trúc(Structured files)
Nguyễn Tri TuấnKhoa CNTT – ĐH.KHTN.Tp.HCMEmail: nttuan@ fit.hcmuns.edu.vn
Sprint 2006 Data Structure & Algorithm - Structured files - Nguyen Tri Tuan, DH.KHTN Tp.HCM 2
Structured files
Giới thiệu
Tập tin văn bản thô (plain text)
Tập tin nhị phân (binary)
Tập tin hình ảnh PCX
Tập tin CSDL DBF
2
Sprint 2006 Data Structure & Algorithm - Structured files - Nguyen Tri Tuan, DH.KHTN Tp.HCM 3
Giới thiệuªCác thuật ngữ thường dùng:
File structure
File format
File header
Website tham khảo: http://www.wotsit.org/
Sprint 2006 Data Structure & Algorithm - Structured files - Nguyen Tri Tuan, DH.KHTN Tp.HCM 4
Giới thiệu (tt)ªFile là một cách thức lưu trữ dữ liệu phổ biến
trên bộ nhớ phụ
ªDữ liệu lưu trữ trên file có cấu trúc thích hợp à hiệu suất truy xuất cao
Header:Số field; tên các field; kiểu dữ liệu các field; sốrecord; ngày cập nhật;…
File CSDL (table)File ảnh (bitmap)
Sprint 2006 Data Structure & Algorithm - Structured files - Nguyen Tri Tuan, DH.KHTN Tp.HCM 22
Tập tin nhị phân (tt)ªHeader: (tt) Có 2 dạng header phổ biến:
Header tĩnh:Kích thước của header không thay đổi trong mọi trường hợpDùng cho các file có cấu tạo không phức tạp;và các thành phần cấu tạo không thay đổi
VD. File ảnh bitmap PCX: header 128 bytes
Header động:Kích thước header thay đổi tùy fileDùng cho các file có thành phần cấu tạo biến thiên
VD. Bảng (table) có số field thay đổi từ 1 – 255 fieldsẢnh bitmap có bảng màu thay đổi từ 2 màu – 16 triệu màu
12
Sprint 2006 Data Structure & Algorithm - Structured files - Nguyen Tri Tuan, DH.KHTN Tp.HCM 23
Structured files
Giới thiệu
Tập tin văn bản thô (plain text)
Tập tin nhị phân (binary)
Tập tin hình ảnh PCX
Tập tin CSDL DBF
Sprint 2006 Data Structure & Algorithm - Structured files - Nguyen Tri Tuan, DH.KHTN Tp.HCM 24
Tập tin hình ảnh *.PCXªLịch sử hình thành, công dụng
ªẢnh bitmap
ªCấu trúc header
ªLưu trữ dữ liệu điểm ảnh
13
Sprint 2006 Data Structure & Algorithm - Structured files - Nguyen Tri Tuan, DH.KHTN Tp.HCM 25
Tập tin hình ảnh *.PCX (tt)ª Lịch sử hình thành, công dụng:
Được xây dựng ~1985, bởi công ty ZSoft CorporationLà một trong các chuẩn tập tin dùng để lưu ảnh bitmap đầu tiên; được dùng trong phần mềm PC PaintBrushCho phép lưu các ảnh bitmap đơn; dạng 2 màu, 16 màu, 256 màu, 16 triệu màuĐược hỗ trợ trong nhiều phần mềm xử lý ảnhLà dạng file nhị phân có cấu trúc header tĩnh
3.0 (dùng cho PC Paintbrush, Publisher’s Paintbrush). Thể hiện được ảnh 24 bits màu
Dùng cho PC Paintbrush Windows2.8 không có bảng màu2.8 có bảng màu (palette)2.5 (dùng cho PC Paintbrush – DOS)VersionMã
54320
Sprint 2006 Data Structure & Algorithm - Structured files - Nguyen Tri Tuan, DH.KHTN Tp.HCM 26
Tập tin hình ảnh *.PCX (tt)ªẢnh bitmap:
Là một ma trận các điểm ảnh (pixel)Kích thước W cột, H dòng (W*H pixels)Có một số lượng hữu hạn màu để thể hiện các pixel
Sprint 2006 Data Structure & Algorithm - Structured files - Nguyen Tri Tuan, DH.KHTN Tp.HCM 27
Tập tin hình ảnh *.PCX (tt)ªẢnh bitmap: (tt)
Mỗi màu được tạo thành từ 3 thành phần cơ bản (Red, Green, Blue), mỗi thành phần biểu diễn bằng 1 byte à cần 3 bytes/màuMỗi pixel được biểu diễn bằng 1 số lượng bit tùy theo số lượng màu
2 màu à 1 bit/pixel16 màu à 4 bits/pixel256 màu à 8 bits/pixel16 triệu màu à 24 bits/pixel
Các thông số khác: Độ phân giải (DPI)Hình thức nén dữ liệu
Sprint 2006 Data Structure & Algorithm - Structured files - Nguyen Tri Tuan, DH.KHTN Tp.HCM 28
Sprint 2006 Data Structure & Algorithm - Structured files - Nguyen Tri Tuan, DH.KHTN Tp.HCM 29
Tập tin hình ảnh *.PCX (tt)ª Cấu trúc header: (tt)
Offset Chiều dài Thành phần Ý nghĩa0 1 Manufacturer Hằng số để nhận dạng loại file PCX (= 10: ZSoft .PCX) 1 1 Version Version2 1 Encoding Cờ cho biết hình thức mã hóa dữ liệu pixel
(1: nén PCX RLE; 0: không nén)3 1 BitsPerPixel Số bit dữ liệu dùng cho 1 pixel (trên 1 scan line).
Giá trị 1, 4, 84 2 Xmin Tọa độ X của góc trên trái6 2 Ymin Tọa độ Y của góc trên trái8 2 Xmax Tọa độ X của góc dưới phải10 2 Ymax Tọa độ Y của góc dưới phải
Sprint 2006 Data Structure & Algorithm - Structured files - Nguyen Tri Tuan, DH.KHTN Tp.HCM 30
Tập tin hình ảnh *.PCX (tt)
ª Cấu trúc header: (tt)
Offset Chiều dài Thành phần Ý nghĩa12 2 HDPI Độ phân giải ngang (DPI)14 2 VDPI Độ phân giải dọc (DPI)16 48 ColorPalette Bảng màu của ảnh 2/16 màu (2/16 entries)64 1 Reserved Dành riêng (= 0)65 1 ColorPlane Giá trị Color Plane66 2 BytesPerLine Số byte thực sự được lưu cho 1 scan line.
Luôn làm tròn word68 2 PaletteInfo Thông tin về Palette (1: Color/B&W; 2: Grayscale)70 58 Filter Không dùng (= 0)
16
Sprint 2006 Data Structure & Algorithm - Structured files - Nguyen Tri Tuan, DH.KHTN Tp.HCM 31
Tập tin hình ảnh *.PCX (tt)ª Cấu trúc header: (tt)