Что такое a byte
массив находится в контексте платформы.NET?
Я знаком со стандартными определениями как array
и byte
и очень знакомый с понятиями электроники, такими как Байт. Но мне не удается соединить его с точки зрения понятий информатики. Я вижу, что это использовало везде, и я использую его с реальным пониманием его глубоко.
В .NET, байт
в основном представляет собой число от 0
до 255
(числа, которые могут быть представлены восемь бит).
Итак, массив байтов
- это просто массив чисел от 0 до 255.
На более низком уровне массив представляет собой непрерывный блок памяти, а массив байтов - это просто представление этой памяти в 8-битных кусках.
Байтовый массив: массив, содержащий только элементы байтового типа. Байт: положительное целое число от 0 до 255, закрытый интервал. A и B - два байта.
Если C = A + B, то математически C = (A + B) по модулю 256. Если C = A - B, то математически C = (A - B) по модулю 256
Таким образом, вы можете рассматривать (и иногда использовать) свой байтовый массив из n элементов как число в системе счисления 256, с n цифры.
Массив byte []
- это просто массив необработанных данных. Например, файл размером 2000 байт может быть загружен в массив byte []
из 2000 элементов.
Технически вся память представляет собой один гигантский массив байтов (до 2 32 адресуемых байта в 32-битном адресном пространстве). В C # (а также в C, C ++, Java и многих других языках) байтовый массив - это просто непрерывный фрагмент памяти. Таким образом, массив byte [n]
представляет собой блок из n
байтов.
Байтовые массивы обычно не имеют другого типа, кроме «байта», который представляет собой просто 8-битный элемент данных.
Байтовые массивы обычно используются для низкоуровневого ввода-вывода, такого как буферы чтения / записи для файлов и сетей, как буферы графических изображений и как «нетипизированные» потоки данных.
Дополнение
Байты также известны как октеты , то есть восьмибитные значения. Октеты - это универсальная единица обмена данными между практически всеми компьютерными и информационными системами, которые используются сегодня.
Даже системы и кодировки, в которых используются значения, отличные от 8-битных, по-прежнему используют октеты для чтения, записи и передачи данных между этими системами. Например, образцы звука аудио компакт-диска кодируются как стереопара 16-битных значений со знаком, дискретизированных с частотой 44 100 Гц. Однако при доступе к плоскому файлу (например, к файлу .WAV) или потоку данных он отображается как последовательность октетов.
Таким образом, в контексте языков программирования такой звуковой файл может быть сохранен в исходной форме как однобайтовый массив.
Байт - это 8 бит, а массив байтов - это массив байтов ... Это действительно так просто.
Следует иметь в виду, что символы char и byte - разные. В старом стиле C символ и байт были в основном одним и тем же. В .NET это символы Unicode и могут быть от 8 до 32 бит на символ. Вот где в игру вступает кодирование. Вы можете преобразовать строку в байтовый массив, а вы можете преобразовать байтовый массив в строку с помощью класса Encoding .
Это массив из байт
. Это двоичные данные - неструктурированные (с точки зрения языка на тот момент времени - отличные от бессмысленных!) Данные, которые могут быть сколь угодно длинными.
Подумайте о загрузке изображения из файла. Вы должны прочитать файл в байт []
перед работой с изображением.