Tệp nhị phân là một tệp có nội dung ở định dạng nhị phân bao gồm một chuỗi các byte liên tiếp, mỗi byte có độ dài tám bit. Nội dung phải được giải thích bởi một chương trình hoặc bộ xử lý phần cứng hiểu trước chính xác nội dung đó được định dạng như thế nào và cách đọc dữ liệu. Các tệp nhị phân bao gồm nhiều loại tệp, bao gồm tệp thực thi, thư viện, đồ họa, cơ sở dữ liệu, tệp lưu trữ và nhiều tệp khác
Các tệp điện tử thường được phân loại thành tệp nhị phân hoặc tệp văn bản. Có thể lập luận rằng các tệp văn bản cũng là một loại tệp nhị phân bởi vì, giống như bất kỳ tệp điện tử nào, chúng được tạo thành từ các chuỗi byte. Tuy nhiên, cả hai thường được coi là các loại khác nhau. Các tệp văn bản ở định dạng con người có thể đọc được và thường tuân thủ các bộ ký tự cụ thể, chẳng hạn như Unicode
Tệp nhị phân được sử dụng như thế nào?
Các tệp nhị phân không thể đọc được bằng con người và yêu cầu một bộ xử lý phần cứng hoặc chương trình đặc biệt biết cách đọc dữ liệu bên trong tệp. Chỉ sau đó, các hướng dẫn được mã hóa trong nội dung nhị phân mới có thể được hiểu và xử lý đúng cách
Ảnh chụp màn hình sau đây hiển thị một phần nội dung từ một tệp trên máy tính Mac. Nội dung chỉ có thể được hiểu bởi các kiến trúc hệ thống cụ thể như Mac. Tệp trong hình này là tệp nhị phân thực thi Unix. Như thông thường với các tệp nhị phân, nội dung của tệp là một chuỗi các byte liên tiếp, được xếp nối tiếp nhau. Mặc dù chúng tôi có thể xem các byte tạo nên dữ liệu nhị phân, tệp chỉ có thể được diễn giải chính xác bởi nền tảng đích
Tệp nhị phân thường bao gồm một số loại tiêu đề cho biết loại tệp. Tiêu đề có thể bao gồm một vài ký tự mà con người có thể đọc được, nhưng toàn bộ tệp nhị phân yêu cầu phần mềm hoặc phần cứng cụ thể để đọc tệp và thực hiện hành động. Mặt khác, người dùng có thể mở tệp văn bản trong nhiều trình soạn thảo và hiểu nội dung mà không cần bất kỳ loại trình thông dịch đặc biệt nào
Các tệp nhị phân thường được sử dụng khi xây dựng ứng dụng và các loại phần mềm khác. Tuy nhiên, các nhà phát triển không làm việc trực tiếp với các tệp nhị phân. Thay vào đó, họ xây dựng các ứng dụng của mình bằng ngôn ngữ lập trình cấp cao như C++ hoặc Java. Các ngôn ngữ sử dụng các tệp văn bản mà con người có thể đọc được để xác định logic ứng dụng
Tại các khoảng thời gian nhất định trong quá trình phát triển, các tệp văn bản được gửi tới trình biên dịch để dịch mã nguồn thành mã máy, mã byte hoặc ngôn ngữ lập trình khác. Nếu trình biên dịch tạo mã byte, mã byte cuối cùng sẽ được chuyển đổi thành mã máy
Mã máy được gửi tới bộ xử lý của máy tính dưới dạng tệp nhị phân. Các tệp mã máy phải nhắm mục tiêu một nền tảng máy tính cụ thể, đề cập đến sự kết hợp giữa hệ điều hành và kiến trúc phần cứng. Ví dụ: mã máy nhị phân có thể nhắm mục tiêu Windows và dòng bộ vi xử lý Intel hoặc có thể nhắm mục tiêu macOS và chip Apple M-series. Một trình biên dịch khác nhau thường được yêu cầu cho mỗi nền tảng máy tính
Nói chung, các chương trình có thể thực thi -- hoặc sẵn sàng để chạy -- được xác định là tệp nhị phân và được cung cấp phần mở rộng tên tệp, chẳng hạn như. thùng hoặc. người cũ. Các lập trình viên thường nói về một chương trình thực thi dưới dạng nhị phân hoặc sẽ gọi các tệp ứng dụng đã biên dịch của họ dưới dạng nhị phân. Các loại tệp này cũng có thể được gọi là mã đối tượng
Về mặt truyền tệp từ nơi này sang nơi khác, một tệp có thể được truyền dưới dạng nhị phân, nghĩa là các chương trình xử lý nó không cố gắng tìm kiếm bên trong hoặc thay đổi nó. Thay vào đó, họ chỉ chuyển nó dưới dạng một đoạn gồm các số 1 và 0, nghĩa là không biết đối với bất kỳ thiết bị mạng nào.
Tìm hiểu sự khác biệt giữa phiên dịch so với. ngôn ngữ được biên dịch, khai báo vs. lập trình mệnh lệnh và Kotlin vs. Ngôn ngữ lập trình mã nguồn mở Swift
Thông tin này được cập nhật lần cuối vào Tháng 6 năm 2022
Tiếp tục đọc Giới thiệu về tệp nhị phân
- Đánh giá ưu và nhược điểm của nền tảng mã thấp
- Các nhà phát triển ngôn ngữ lập trình theo yêu cầu nên biết
- 11 ngôn ngữ lập trình đám mây mà lập trình viên cần biết
- Những điều cơ bản khi làm việc với các ngôn ngữ lập trình khai báo
- Các ngôn ngữ lập trình kỹ sư DevOps quan trọng cần học
Điều khoản liên quan
Luật Hofstadter Luật Hofstadter quy định rằng một dự án luôn mất nhiều thời gian hơn dự kiến, ngay cả khi luật được tính đến. Xem ứng dụng định nghĩa đầy đủ Ứng dụng gốc là một chương trình phần mềm mà nhà phát triển xây dựng để sử dụng trên một nền tảng hoặc thiết bị cụ thể. Xem bảng chân lý định nghĩa đầy đủ Bảng chân lý là bảng phân tích tất cả các giá trị chân lý có thể được trả về bởi một biểu thức logic. Xem định nghĩa đầy đủTừ trong ngày
SIÊM
Quản lý sự kiện và thông tin bảo mật [SIEM] là một cách tiếp cận quản lý bảo mật kết hợp các chức năng quản lý thông tin bảo mật [SIM] và quản lý sự kiện bảo mật [SEM] vào một hệ thống quản lý bảo mật.