Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 15, 2016 18:05:43

ivan342
Зарегистрирован: 2016-02-28
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл бинарной строки как байтов

У меня есть вот такие бинарные данные

0110000111100001011100001
как мне их записать файл, а потом получить тоже самое?

Офлайн

#2 Ноя. 15, 2016 18:31:06

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Запись в файл бинарной строки как байтов

ivan342
Если это поток битов, то почему их 25 ?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Ноя. 15, 2016 19:14:48

ivan342
Зарегистрирован: 2016-02-28
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись в файл бинарной строки как байтов

Это просто как пример (который не удачный получился).
Вообще это нужно для алгоритма сжатия lz78. Там я получаю примерно такую строку и ее надо уметь записывать в файл.

Офлайн

#4 Ноя. 15, 2016 23:28:13

izekia
От:
Зарегистрирован: 2008-07-19
Сообщения: 317
Репутация: +  12  -
Профиль   Отправить e-mail  

Запись в файл бинарной строки как байтов

JOHN_16
Если это поток битов, то почему их 25 ?
я даже стесняюсь спросить зачем ты их считал)))



Офлайн

#5 Ноя. 15, 2016 23:34:24

izekia
От:
Зарегистрирован: 2008-07-19
Сообщения: 317
Репутация: +  12  -
Профиль   Отправить e-mail  

Запись в файл бинарной строки как байтов

ivan342
Это просто как пример (который не удачный получился). Вообще это нужно для алгоритма сжатия lz78. Там я получаю примерно такую строку и ее надо уметь записывать в файл.
то есть Вы рассуждаете об алгоритме сжатия не зная что существует array.tofile



Офлайн

#6 Ноя. 15, 2016 23:55:00

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Запись в файл бинарной строки как байтов

izekia
я даже стесняюсь спросить зачем ты их считал)))
скажем так, первая мысль в плане решения разумеется разбивать строку на подстроки по 8 симолов что бы их интерпретировать в байты, ну я скопировал строку в питон и сделал len() что бы увидеть сколько там будущих байт … и тут все стало ясно )



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#7 Ноя. 16, 2016 00:00:23

izekia
От:
Зарегистрирован: 2008-07-19
Сообщения: 317
Репутация: +  12  -
Профиль   Отправить e-mail  

Запись в файл бинарной строки как байтов

JOHN_16
ахаха, подошел к вопросу буквально)



Офлайн

#8 Ноя. 16, 2016 00:11:29

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

Запись в файл бинарной строки как байтов

izekia
Да хрен с ним, с буквальным подходом, но вот это:

ivan342
У меня есть вот такие бинарные данные

Я в жизни не встречал никогда (убейте меня об стену) чтоб данные вот так приходили…

Офлайн

#9 Ноя. 16, 2016 00:37:28

izekia
От:
Зарегистрирован: 2008-07-19
Сообщения: 317
Репутация: +  12  -
Профиль   Отправить e-mail  

Запись в файл бинарной строки как байтов

Iskatel
а они не спрашивают и приходят)
простым письмом: заплатите столько денег

 0110000111100001011100001
приходится считать)



Офлайн

#10 Ноя. 16, 2016 02:04:01

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Запись в файл бинарной строки как байтов

как мне их записать файл, а потом получить тоже самое?

Поскольку нельзя создать файлы размером, скажем, 3.5 байта, то нужен специальный контейнер, который будет хранить ваши 25, или какое-либо еще не кратное 8, число бит.
Этот контейнер, например. может быть следующим:
1-4bytes – для хранения числа бит, которые мы сохраняем
data - данные дополненные нулями до кратности 8 наши битовые данные
И сохранять вот такой контейнер
(1-4bytes auxiliary data)( data )
с помощью модуля struct, например.
Обратно, также с помощью structа, а потом отщипнуть нужное количество бит…

Отредактировано scidam (Ноя. 16, 2016 02:05:26)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version