2014-08-31 5 views
-2

Можно ли преобразовать файл/текст/mp3 в файл только для двоичного кода, который был составлен для него, а затем для манипулирования, например, на языке python или на любом другом языке. Я немного поиграл в сети, и двоичные файлы были упомянуты много, но ничего не было особенно полезно или согласовано. Спасибо за любую информацию, я сделал справедливое немного программирования на высоком уровне, так что теперь я хочу немного разветвиться.Работа с файлами в двоичном формате

+0

Что вы имеете в виду? Файлы MP3 и файлы jpeg уже представляют собой формат «двоичный» (например, не читаемый человеком). –

+0

Попробуйте 'od -xc YourBinaryFilename', чтобы увидеть данные в шестнадцатеричном формате. –

ответ

0

Если вы хотите, чтобы манипулировать двоичные файлы в Python, использовать режимы файла rd и wb («прочитать двоичными» и «запись двоичным» соответственно)

with open('binary_file', 'rb') as input_file: 
    byte = input_file.read(1) 

Чтобы был ясен, все файлы являются бинарными. Некоторые файлы binray интерпретируются как текстовые файлы, но на самом деле это просто двоичные файлы под капотом, которые притворяются картографическими. Подумайте об этом таким образом, файл представляет собой серию чисел, цифры могут быть только в диапазоне от 0 до 255. Затем кто-то сказал, эй, как насчет того, если вы видите номер 65, это на самом деле буква буква «А», тогда 66 - «B» и т. д. Тогда 97 - это нижний регистр «a» 98 - «b» и т. д. Вы можете найти all the mappings of numbers to letters on wikipedia, you've probably heard of ASCII, and that's what it is. Если вы хотите посмотреть фактическое число под капотом файла, вам понадобится шестнадцатеричный редактор. Но они представляют числа, не похожие на нас.

Если вы хотите увидеть, что фактические единицы и нули из файла просто использовать этот

with open('binary_file_name', 'rb') as input_file: 
    while input_file: 
     byte = input_file.read(1) 
     print '{0:08b}'.format(ord(byte)) 
0

Бинарный файл - это всего лишь массив байтов, и большинство языков программирования имеют дело с массивами, для преобразования «двоичного кода» не требуется. Затем существуют двоичные форматы, чтобы указать тип файла из другого (например, изображение из mp3), потому что вы можете интерпретировать только исходные байты, если вы дали им значение в первую очередь.

Смежные вопросы