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