<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647406</guid>
        <pubDate>Sat, 16 Jan 2016 10:44:18 +0000</pubDate>
        <title>Как сжать двоичный файл.</title>
        <link>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647406</link>
        <description><![CDATA[[FENIX]: Это не курсач, но сделать надо, сжатие надо обязательно сделать по алгоритму Хаффмана, а что используют готовые бибиотеки я ж не знаю]]></description>
        <author>[FENIX]</author>
        <category>PHP</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647314</guid>
        <pubDate>Fri, 15 Jan 2016 16:56:10 +0000</pubDate>
        <title>Как сжать двоичный файл.</title>
        <link>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647314</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407670&view=findpost&p=3647270'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#091;FENIX&#093; &#064; <time class="tag-quote__quoted-time" datetime="2016-01-15T13:55:09+00:00">15.01.16, 13:55</time></span><div class='quote '>Реализовывал всё на PHP.</div></div><br>
<br>
Это курсач или просто для интереса? В PHP есть свои библиотеки сжатия, есличо.]]></description>
        <author>JoeUser</author>
        <category>PHP</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647303</guid>
        <pubDate>Fri, 15 Jan 2016 16:12:13 +0000</pubDate>
        <title>Как сжать двоичный файл.</title>
        <link>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647303</link>
        <description><![CDATA[MBo: <a class='tag-url' href='http://php.net/manual/ru/language.operators.bitwise.php' target='_blank'>http://php.net/manual/ru/language.operators.bitwise.php</a>]]></description>
        <author>MBo</author>
        <category>PHP</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647299</guid>
        <pubDate>Fri, 15 Jan 2016 15:50:20 +0000</pubDate>
        <title>Как сжать двоичный файл.</title>
        <link>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647299</link>
        <description><![CDATA[Славян: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407670&view=findpost&p=3647290'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#091;FENIX&#093; &#064; <time class="tag-quote__quoted-time" datetime="2016-01-15T15:24:25+00:00">15.01.16, 15:24</time></span><div class='quote '><strong class='tag-b'>Славян</strong> можешь подсказать, как в PHP можно реализовать упаковку нулей и единиц в непрерывную последовательность?</div></div>Да просто числа умножать нацело на степени двойки и проводить побитовую операцию ИЛИ. Т.к. я ничего про PHP не знаю, то тут я вам явно не тонкий помощник; только какие-то общие соображения могу подсказать. :oops:]]></description>
        <author>Славян</author>
        <category>PHP</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647290</guid>
        <pubDate>Fri, 15 Jan 2016 15:24:25 +0000</pubDate>
        <title>Как сжать двоичный файл.</title>
        <link>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647290</link>
        <description><![CDATA[[FENIX]: <strong class='tag-b'>MBo</strong> а вот я и не знаю есть ли в PHP такая возможность (( <br>
<br>
<strong class='tag-b'>Славян</strong> можешь подсказать, как в PHP можно реализовать упаковку нулей и единиц в непрерывную последовательность? Или хотя бы ссылку дать]]></description>
        <author>[FENIX]</author>
        <category>PHP</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647281</guid>
        <pubDate>Fri, 15 Jan 2016 14:33:20 +0000</pubDate>
        <title>Как сжать двоичный файл.</title>
        <link>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647281</link>
        <description><![CDATA[Славян: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=407670&view=findpost&p=3647270'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#091;FENIX&#093; &#064; <time class="tag-quote__quoted-time" datetime="2016-01-15T13:55:09+00:00">15.01.16, 13:55</time></span><div class='quote '>Помогите, в какую сторону копать?</div></div>Упаковать нули и 1 в непрерывную последовательность и записывать получающиеся байты.<br>
 :whistle: Но при кодировании двоичного файла читать вики:<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>вики</span><div class='quote '>Классический алгоритм Хаффмана имеет ряд существенных недостатков. Во-первых, для восстановления содержимого сжатого сообщения декодер должен знать таблицу частот, которой пользовался кодер. Следовательно, длина сжатого сообщения увеличивается на длину таблицы частот, которая должна посылаться впереди данных, что может свести на нет все усилия по сжатию сообщения. Кроме того, необходимость наличия полной частотной статистики перед началом собственно кодирования требует двух проходов по сообщению: одного для построения модели сообщения (таблицы частот и Н-дерева), другого для собственно кодирования. Во-вторых, избыточность кодирования обращается в ноль лишь в тех случаях, когда вероятности кодируемых символов являются обратными степенями числа 2. В-третьих, <strong class='tag-b'>для источника с энтропией, не превышающей 1 (например, для двоичного источника), непосредственное применение кода Хаффмана бессмысленно</strong>.</div></div>]]></description>
        <author>Славян</author>
        <category>PHP</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647278</guid>
        <pubDate>Fri, 15 Jan 2016 14:27:07 +0000</pubDate>
        <title>Как сжать двоичный файл.</title>
        <link>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647278</link>
        <description><![CDATA[MBo: Нули и единицы должны содержаться в отдельных битах. В PHP это возможно? Работа с битами есть?]]></description>
        <author>MBo</author>
        <category>PHP</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647270</guid>
        <pubDate>Fri, 15 Jan 2016 13:55:09 +0000</pubDate>
        <title>Как сжать двоичный файл.</title>
        <link>https://forum.sources.ru/index.php?showtopic=407670&amp;view=findpost&amp;p=3647270</link>
        <description><![CDATA[[FENIX]: Всем привет народ. Вот такой вопрос.<br>По Алгоритму Хаффмана я закодировал входную строку (текст). Получил 0 и 1. Построил таблицу частот символов, и само дерево Хаффмана. Потом записываю эти 0 и 1 в txt-файл, НО размер txt-файла, содержащего 0 и 1 превышает размер файла с исходным текстом.<br><br>В общем я реализовал только кодирование по алгоритму Хаффмана, получил нули и единицы. Мне в конечном итоге нужно получить из исходного текстового файла - его упакованную версию (само собой с меньшим размером).<br><br>Потом уже буду из упакованной версии файла восстанавливать исходную строку символов.<br>Помогите, в какую сторону копать?<br><br>Например txt-файл, содержащий строку &quot;test_string&quot; занимает размер 11 байт, а файл, где каждый символ заменён на нули и единицы занимает 32 байта ((((<br>Реализовывал всё на PHP.]]></description>
        <author>[FENIX]</author>
        <category>PHP</category>
      </item>
	
      </channel>
      </rss>
	