Потоки байтов содержат, ну, байты. Разбитый на то, что это на самом деле, это 8 бит, состоящие из 1 и 0. Если бы он представлял число, это было бы любое число от 0 до 255 (что, я могу добавить, не случайно, почему 4 числа в IP-адресе всегда находятся в диапазоне от 0 до 255). Потоки байтов, как правило, представляют собой сложные интерфейсы, предназначенные для скрытия базового базового байтового массива, используемого для хранения кольцевого буфера (вы заполняете буфер и ждете, пока кто-нибудь его очистит, и тогда он просто снова заполняет буфер).
Какого черта это представляет? Ну, это может быть текстовый файл, или изображение, или видео в реальном времени. Что это такое , полностью зависит от контекста того, кто его читает. Шестнадцатеричное представление - это еще один способ сказать то же самое, хотя иногда удобнее управлять байтами с точки зрения их шестнадцатеричного представления, а не чисел, однако это одно и то же.
Когда вы ссылаетесь на необработанные данные, вы обычно ссылаетесь на байтовые данные. Данные приходят без тега, говорящего «Я файл изображения!» Обычно вы имеете дело с необработанными данными только тогда, когда вам действительно все равно, что эти данные представляют в целом. Например, если бы я хотел преобразовать изображение в его черно-белую версию, я мог бы сказать, что нужно прочитать необработанные данные изображения и прочитать каждые 3 байта (что фактически будет представлением красного цвета, представлением зеленого цвета и представлением синего цвета), добавьте его числовое значение и разделите на 3, затем запишите это значение 3 раза. По сути, я бы сделал усреднение красного, зеленого и синего значений пикселя и сделал из него его серый эквивалентный пиксель. Однако, когда вы говорите о выполнении операций с данными на уровне «побайтово», вы не
Или, возможно, вы хотите сохранить файл в базе данных, но он просит вас вставить его «необработанные данные» в тип данных BLOB-объектов. Это просто означает преобразование данных файла в большой байтовый массив, который база данных может понимать и управлять. Вы обнаружите, что когда вы извлекаете это значение из базы данных, это будет просто один большой байтовый массив, который вы изначально предоставили базе данных для начала. Если эти данные были файлом, то вы, программист, должны интерпретировать эти байтовые данные, как если бы вы читали файл по одному байту за раз.
Если бы кто-то попросил вас «перевернуть 4-байтовые данные», я бы предположил, что это относится к интерпретации чисел с прямым порядком байтов по сравнению с порядком байтов с прямым порядком байтов, которая записывает числа, начиная с самого или младшего значащего байта. Неважно, будет ли число представлено в виде байтов с прямым порядком байтов или байтов с прямым порядком байтов, просто то, что все системы, читающие число, интерпретируют его последовательно.
Это не означает, что фактическое представление чисел (или шестнадцатеричное представление в этом отношении) изменилось, просто то, что порядок, в котором эти 4 байта составляют число, должен быть обратным. Допустим, у вас есть 0x01, 0x02, 0x03 и 0x04. Чтобы изменить их, вместо этого у вас будет 0x04, 0x03, 0x02, 0x01. Система предположительно считала бы эти 4 байта в обратном порядке, и, поскольку вы уже перевернули его, значение интерпретируется так же, как и предполагалось в необработанных данных.
Я надеюсь, что это объясняет!