Что мы подразумеваем под массивом байтов? [закрытый]


не мог бы кто-нибудь объяснить, я точно не понимаю

Что такое массив байтов
Где и когда мы используем его в приложения/программы
каковы преимущества и недостатки использования массива байтов

3 73

3 ответа:

байт - это 8 бит (двоичные данные).

массив байтов-это массив байтов (тавтология FTW!).

вы можете использовать массив байтов для хранения коллекции двоичных данных, например, содержимого файла. Недостатком этого является то, что все содержимое файла должно быть загружено в память.

для больших объемов двоичных данных было бы лучше использовать потоковый тип данных, если ваш язык поддерживает его.

Я предполагаю, что вы знаете, что такое байт. Массив байтов-это просто область памяти, содержащая группу смежных (бок о бок) байтов, так что имеет смысл говорить о них по порядку: первый байт, второй байт и т. д..

Так же, как байты могут кодировать различные типы и диапазоны данных (числа от 0 до 255, числа от -128 до 127, одиночные символы с использованием ASCII, например " a "или"%", ОП-коды CPU), каждый байт в массиве байтов может быть любым из этих вещей или вносить свой вклад в некоторые многобайтовые значения, такие как числа с большим диапазоном (например, 16-битный беззнаковый int от 0..65535), международные наборы символов, текстовые строки ("привет") или часть/все скомпилированные компьютерные программы.

решающая вещь о массиве байтов заключается в том, что он дает индексированный (быстрый), точный, необработанный доступ к каждому 8-битному значению, хранящемуся в этой части памяти, и вы можете работать с этими байтами для управления каждым битом. Плохо то, что компьютер просто рассматривает каждую запись как независимую 8-битное число-это может быть то, с чем имеет дело ваша программа, или вы можете предпочесть какой-то мощный тип данных, такой как строка, которая отслеживает свою собственную длину и растет по мере необходимости, или число с плавающей запятой, которое позволяет хранить, скажем, 3.14, не думая о битовом представлении. Как тип данных, неэффективно вставлять или удалять данные вблизи начала длинного массива, так как все последующие элементы должны быть перетасованы, чтобы создать или заполнить пробел, созданный/требуемый.

С Википедия:

в информатике массив данных структура или просто массив данных структура, состоящая из коллекции элементов (значений или переменных), каждый идентифицируется одним или несколькими целыми числами индексы, сохраненные так, что адрес каждый элемент может быть вычислен от индексный кортеж по простой математике формула.

поэтому, когда вы говорите массив байтов, вы ссылаетесь на массив некоторой определенной длины (например, количество элементов), который содержит коллекцию элементов размером в байт (8 бит).

в C# массив байтов может выглядеть так:

byte[] bytes = { 3, 10, 8, 25 };

в примере выше определяет массив из 4 элементов, где каждый элемент может быть до байт в длину.