Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
24 / 21 / 3
Регистрация: 04.11.2014
Сообщений: 283
1

Запись двоичного кода в файл

29.10.2018, 20:04. Показов 866. Ответов 1
Метки нет (Все метки)

Доброго времени суток. Реализую алгоритм Хаффмана по заданию и не совсем понимаю, как записать биты в файл. У меня есть буфер в 16 бит, при заполнении которого я записываю его в файл, однако если я просто запишу его, то по очевидными причинам в файл будет записан каждый символ как 1 байт. Так вот я подумал, что надо как-то преобразовывать набор битов, но при преобразовании в целое например набора "0001110110110111" я теряю ведущие нули и информация потеряется при декодировании, преобразовывать в ASCII не вариант, там 8 бит. Думаю про юникод, но как я понял, то он может занимать разное количество бит. Подскажите, как это можно реализовать?

Вот простой скрипт для записи
Python
1
2
3
4
5
6
7
8
9
10
11
12
with open("start.txt", 'r') as fout, open("encode.txt", 'w') as encodeFile:
    tempBuffer = ""
    while True: 
        ch = fout.read(1)
        if(ch == ''):
            break
        else:
            tempBuffer += codesHaffman[ch]
            if len(tempBuffer) >= SIZE_BUFFER:
                encodeFile.write(tempBuffer[:SIZE_BUFFER:])
                tempBuffer = tempBuffer[SIZE_BUFFER::]
    encodeFile.write(tempBuffer)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2018, 20:04
Ответы с готовыми решениями:

Запись двоичного кода в блокнот
Здравствуйте, как можно прочитать двоичной код файла, и записать его в блокнот ?

Как организовать побитовую запись двоичного кода (Хаффман) ?
Пытаюсь реализовать алгоритм Хаффмана, который будет сжимать текстовый файл. Уже построено дерево...

Файл: Сохранить объект класса в файл в виде двоичного кода и восстановить, с выводом в консоль
Сохранить объект класса в файл в виде двоичного кода и восстановить, с выводом в консоль.

Формирование двоичного кода для целой и дробной части + вывод в файл
Упростила программу, но суть ясна. Выводит число, потом его целую и дробную часть, после чего...

1
0 / 0 / 0
Регистрация: 12.03.2016
Сообщений: 11
29.10.2018, 21:21 2
Была подобная задача тут, https://www.cyberforum.ru/pyth... 29193.html

Ребята в том обсуждении использовали обычный UTF-8, вариант со строкой

Python
1
file.write(bytes(chr(int(code[cur:cur+16], 2)), 'utf-8')
кажется вполне жизнеспособным
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2018, 21:21

Запись из js кода в файл
Добрый день. Сделал ПХП. Первый код получает информацию, второй код записывает ее в файл, лежащий...

Запись кода в файл
Добрый день. Я решал, казалось бы, простую задачу, но столкнулся с интересной проблемой. Для...

Запись html кода в файл
Здравствуйте. Мне нужно взять html код страницы в интернете и записать его в xml файл или же в...

Запись кода в файл html
Здравствуйте! Моя программка генерирует однотипные математические выражения в том количестве,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.