Ai đó có thể vui lòng giải thích, tôi không chính xác nhận được khái niệm.
Mảng Byte là gì?
Chúng tôi sử dụng nó ở đâu và khi nào trong các ứng dụng / chương trình?
những lợi thế và bất lợi của việc sử dụng một mảng byte là gì?
Ai đó có thể vui lòng giải thích, tôi không chính xác nhận được khái niệm.
Mảng Byte là gì?
Chúng tôi sử dụng nó ở đâu và khi nào trong các ứng dụng / chương trình?
những lợi thế và bất lợi của việc sử dụng một mảng byte là gì?
Câu trả lời:
Một byte là 8 bit (dữ liệu nhị phân).
Mảng byte là một mảng các byte (tautology FTW!).
Bạn có thể sử dụng một mảng byte để lưu trữ một tập hợp dữ liệu nhị phân, chẳng hạn như nội dung của một tệp. Nhược điểm của điều này là toàn bộ nội dung tệp phải được tải vào bộ nhớ.
Đối với một lượng lớn dữ liệu nhị phân, sẽ tốt hơn nếu sử dụng kiểu dữ liệu truyền trực tuyến nếu ngôn ngữ của bạn hỗ trợ.
The downside to this is that the entire file contents must be loaded into memory.
?
Tôi giả sử bạn biết byte là gì. Mảng byte chỉ đơn giản là một vùng bộ nhớ chứa một nhóm các byte liền kề (cạnh nhau), sao cho hợp lý khi nói về chúng theo thứ tự: byte đầu tiên, byte thứ hai, v.v.
Cũng giống như byte có thể mã hóa các loại và phạm vi dữ liệu khác nhau (số từ 0 đến 255, số từ -128 đến 127, các ký tự đơn sử dụng ASCII, ví dụ: 'a' hoặc '%', mã op CPU), mỗi byte trong một mảng byte có thể là bất kỳ thứ nào trong số này hoặc đóng góp vào một số giá trị nhiều byte như các số có phạm vi lớn hơn (ví dụ: int 16-bit không dấu từ 0..65535), bộ ký tự quốc tế, chuỗi văn bản ("xin chào") hoặc một phần / tất cả các chương trình máy tính đã biên dịch.
Điều quan trọng về mảng byte là nó cung cấp quyền truy cập thô (nhanh), chính xác, được lập chỉ mục vào từng giá trị 8 bit đang được lưu trữ trong phần bộ nhớ đó và bạn có thể thao tác trên các byte đó để kiểm soát từng bit. Điều tồi tệ là máy tính chỉ coi mọi mục nhập là một số 8 bit độc lập - đó có thể là thứ mà chương trình của bạn đang xử lý hoặc bạn có thể thích một số kiểu dữ liệu mạnh mẽ như một chuỗi theo dõi độ dài của chính nó và phát triển khi cần thiết hoặc một số dấu phẩy động cho phép bạn lưu trữ nói 3,14 mà không cần suy nghĩ về biểu diễn bit khôn ngoan. Là một kiểu dữ liệu, việc chèn hoặc xóa dữ liệu gần đầu một mảng dài sẽ không hiệu quả, vì tất cả các phần tử tiếp theo cần được xáo trộn để tạo hoặc lấp đầy khoảng trống được tạo / yêu cầu.
Từ wikipedia :
Trong khoa học máy tính, cấu trúc dữ liệu mảng hay đơn giản là mảng là cấu trúc dữ liệu bao gồm một tập hợp các phần tử (giá trị hoặc biến), mỗi phần tử được xác định bởi một hoặc nhiều chỉ số nguyên, được lưu trữ để có thể tính toán địa chỉ của mỗi phần tử từ chỉ mục của nó. tuple bằng một công thức toán học đơn giản.
Vì vậy, khi bạn nói mảng byte, bạn đang đề cập đến một mảng có độ dài xác định nào đó (ví dụ: số phần tử) chứa tập hợp các phần tử có kích thước byte (8 bit).
Trong C #, một mảng byte có thể giống như sau:
byte[] bytes = { 3, 10, 8, 25 };
Mẫu trên xác định một mảng gồm 4 phần tử, trong đó mỗi phần tử có thể dài tối đa một Byte .