điểm khác biệt giữa tập tin nhị phân và tập tin văn bản và 1 điều quan trọng về danh sách liên kết
Chúng tôi đã hoạt động trên rất nhiều tệp văn bản và một vài tệp nhị phân . Sự khác biệt chính giữa hai điều này là một tệp văn bản...
Chúng tôi đã hoạt động trên rất nhiều tệp văn bản và một vài tệp nhị phân . Sự khác biệt chính giữa hai điều này là một tệp văn bản chứa thông tin văn bản ở dạng bảng chữ cái, chữ số và các ký tự hoặc ký hiệu đặc biệt. Mặt khác, tệp nhị phân chứa byte hoặc phiên bản được biên dịch của tệp văn bản.
Mục lục
- Một vài sự khác biệt khác được liệt kê dưới đây:
- Xử lý các dòng mới
- Lưu trữ số
- Đại diện của EOF
- Đề xuất -
MỘT VÀI SỰ KHÁC BIỆT KHÁC ĐƯỢC LIỆT KÊ DƯỚI ĐÂY:
- Một tệp văn bản lưu trữ dữ liệu dưới dạng bảng chữ cái, chữ số và các ký hiệu đặc biệt khác bằng cách lưu trữ các giá trị ASCII của chúng và ở định dạng có thể đọc được. Ví dụ: bất kỳ tệp nào có phần mở rộng .txt, .c, v.v. Trong khi đó, một tệp nhị phân chứa một chuỗi hoặc một tập hợp các byte không ở định dạng có thể đọc được. Ví dụ: các tệp có phần mở rộng .exe, .mp3, v.v. Nó đại diện cho dữ liệu tùy chỉnh.
- Một lỗi nhỏ trong một tệp văn bản có thể được nhận ra và loại bỏ khi nhìn thấy. Trong khi đó, một lỗi nhỏ trong tệp nhị phân làm hỏng tệp và không dễ phát hiện.
- Vì dữ liệu không phải là con người có thể đọc được, nó cũng tăng thêm tính bảo mật của nội dung vì người ta không thể lấy dữ liệu nếu cấu trúc không được biết.
- Bây giờ, khi nói đến lập trình, có ba điểm khác biệt chính giữa hai, đó là Xử lý các dòng mới, lưu trữ số và biểu diễn EOF (Kết thúc tệp) . Hãy xem xét những khác biệt này một cách chi tiết:
XỬ LÝ CÁC DÒNG MỚI
Dòng mới là kết thúc của dòng hoặc kết thúc dòng hoặc ngắt dòng . Nó thường là một ký tự đặc biệt biểu thị sự kết thúc của dòng. Một ký tự dòng mới trong một tệp văn bản trước tiên được chuyển đổi thành một tổ hợp nguồn cấp dữ liệu dòng trở lại và sau đó được ghi vào đĩa. Tương tự, khi được đọc bởi một tệp văn bản, kết hợp nguồn cấp dữ liệu dòng vận chuyển được chuyển đổi thành một dòng mới . Tuy nhiên, trong một tệp nhị phân , không có chuyển đổi nào như vậy xảy ra.
LƯU TRỮ SỐ
Trong chế độ văn bản , hàm fprintf ()được sử dụng để lưu trữ dữ liệu số trong đĩa. Các văn bản và các ký tự được lưu trữ một ký tự cho mỗi byte như vậy (char chiếm 1 byte trong bộ nhớ) và như mong đợi, các số nguyên sẽ chiếm 4 byte (phụ thuộc vào trình biên dịch) trên mỗi số. Nhưng đây không phải là trường hợp. Ví dụ: chúng ta có một số 567392. Theo quy ước lưu trữ số nguyên, nó sẽ chiếm 4 byte trong đĩa nhưng không. Nó chiếm 6 byte, tức là 1 byte cho mỗi chữ số trong số. Ngoài ra, số 56.9057 sẽ chiếm 7 byte trong đĩa. Do đó, chúng ta thấy rằng mỗi chữ số trong tệp được coi là một ký tự trong chính nó và chiếm nhiều không gian hơn mức cần thiết. Vì vậy, nếu chúng ta có nhiều dữ liệu số thì việc sử dụng tệp văn bản sẽ không hiệu quả về bộ nhớ (nhưng cú pháp được sử dụng phụ thuộc vào cách sử dụng của chúng ta
Vấn đề này có thể được giải quyết bằng cách sử dụng các tệp nhị phân . Chúng ta nên mở file trong chế độ nhị phân (sử dụng “wb” hoặc “rb” để viết và đọc chế độ tương ứng). Việc sử dụng hàm fread () hoặc fwrite () chúng ta có thể dễ dàng lưu trữ dữ liệu ở dạng nhị phân, chỉ sử dụng 4 byte để lưu trữ dữ liệu số nguyên.
Đọc thêm - Giới thiệu cơ bản về tệp trong C và các chế độ khác nhau để đọc và ghi tệp .
ĐẠI DIỆN CỦA EOF
Một cách khác có thể phân biệt chế độ văn bản và chế độ nhị phân là trên cơ sở biểu diễn phần cuối của tệp (EOF) . Trong chế độ văn bản , một ký tự đặc biệt có mã ASCII 26 được chèn vào cuối tệp. Ký tự này khi gặp phải trả về tín hiệu EOF cho chương trình.
Đây không phải là trường hợp trong chế độ nhị phân . Trong chế độ nhị phân , chúng tôi không có bất kỳ ký tự đặc biệt nào để biểu thị EOF. Nó theo dõi với sự giúp đỡ của số lượng ký tự có trong mục nhập thư mục của tệp.
danh sách liên kết
có 1 điều quan trọng về danh sách liên kết đơn là node đi qua thì không thể quay lại

Khoa học - Công nghệ
/khoa-hoc-cong-nghe
Bài viết nổi bật khác
- Hot nhất
- Mới nhất