Двоичные файлы содержат нечитаемые данные, большая часть информации хранится в двоичном виде, поскольку эти файлы очень эффективны при хранении и обработке.
Если файл содержит данные, не читаемые человеком, он называется двоичным файлом. Двоичный файл не хранит текстовые данные как последовательность символов, вместо этого он сохраняет данные в виде байтов.
Байты в двоичном файле представляют собой различные виды информации, такие как изображения, видео, аудио, текст и т. д.
Есть несколько причин использовать двоичный файл:
- Двоичные файлы экономят место, то есть занимают меньше места, чем файлы, содержащие реальный текст. Они также обеспечивают более высокую скорость чтения и записи.
- Двоичный файл сохраняет точность хранимых данных, поэтому никакая информация не теряется, тогда как файл с текстовыми данными может потерять некоторую информацию. Бинарный файл позволяет хранить сложные структуры данных.
Но зачем использовать двоичный файл? Есть несколько причин. Он используется для приложений, где необходимы быстрые операции чтения и записи из-за его уменьшенного размера и отсутствия необходимости анализировать его как текст.
Такая информация, как аудио, видео и изображения, хранится в виде двоичных файлов для поддержания качества информации.
Чтение двоичного файла
Чтобы прочитать двоичный файл в Python, сначала вам нужно будет использовать метод open() Python, чтобы открыть файл в двоичном режиме. Затем, используя метод read(), вы можете прочитать данные файла.
Но перед этим давайте создадим бинарный файл, используйте код ниже.
# Open a file named 'data.bin' in binary write mode('wb') with open('data.bin', 'wb') as file: # Write a sequence of bytes to the file # The byte sequence includes various UTF-8 encoded characters: # \xC2\xA9 represents the © symbol # \x20 is a space character # \xF0\x9D\x8C\x86 represents the 𝌆 character(a musical symbol) # \x20 is a space character # \xE2\x98\x83 represents the ☃ symbol(a snowman) file.write(b'\xC2\xA9\x20\xF0\x9D\x8C\x86\x20\xE2\x98\x83')
Когда приведенный выше код выполняется, данные двоичные данные записываются в файл «data.bin» в вашей системе.
Теперь, чтобы прочитать двоичный файл «data.bin», снова откройте файл, используя метод open() с режимом, равным «rb», используя приведенный ниже код.
# Open the same file 'data.bin' in binary read mode('rb') with open('/content/data.bin', 'rb') as file: # Read the binary data from the file binary_data = file.read() # Print the binary data to the console print(binary_data)
На рисунке выше показано, что при чтении файла он возвращает двоичные данные, указанные красной стрелкой. Вы также можете увидеть, какую информацию представляет каждая точка двоичных данных.
Но поскольку все двоичные данные считываются из файла, что произойдет, если вам понадобятся только определенные байты данных из двоичного файла? Метод read (num_bytes) принимает аргумент целочисленного типа, который означает количество байтов, которые вы хотите прочитать из файла.
Например, если вам нужно только два байта из двоичного файла, вызовите метод read(), как показано ниже.
# Open the same file 'data.bin' in binary read mode('rb') with open('/content/data.bin', 'rb') as file: # Read the 2 bytes of binary data from the file binary_data = file.read(2) # Print the binary data to the console print(binary_data)
Когда файл читается как file.read(2), он возвращает только 2 байта данных из файла «data.bin», показанного на рисунке выше.