Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 28.12.2011, 12:58
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Nekromancer
Так что байт в первую очередь это байт, ну как бы логично.
байт это объём информации содержащий 8 бит.-и задача сократить количество байт хранящих этот объём информации.
можно ли сократить количество байт хранящих информацию(запаковка/распаковка) без изменения количества информации -да.архиваторы явный пример. в вопросе была фраза упаковка распаковка. Пример документ вёрд- упакованный/распакованный -разница более чем в два раза

если речь не идёт о 2х конкретных байтах,да и то нужно смотреть возможно или нет
если каждый из байт содержит число до 127-то возможно
если любой число от 128 до 255-то не возможно
дай однозначный ответ исходя из этого-возможно или нет?

Последний раз редактировалось dmitriymar, 28.12.2011 в 13:14.
Ответить с цитированием
  #32 (permalink)  
Старый 28.12.2011, 13:14
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

dmitriymar,
Ну вот и вы дошли до упоминания бит. А если у меня занято уже 9 бит из 16ти, то видимо нельзя запаковать, да?

Вообще, что бы упаковать, именно упаковывать как в ахриваторе, нужен специальный алгоритм, который будет всё разбирать и собирать по определённым правилам. В итоге этот аглоритм каждый раз работает не с 2мя байтами, а он ищет во всех входных данных возможность сократить количество используемых байт по средствам замены бит. В нашем же случае упаковать в байт можно только те самые, заветные 8 бит, ну то есть собственно 1 байт.

Было бы у нас в распоряжении хотя 100 байт, можно было бы тогда говорить о каком то алгоритме сжатия.

Отвечая на последний ваш вопрос:
2 байта однозначно упаковать в один невозможно. Возможно упаковать 8 любых бит их этих байт 2х байт. Так как по определению - байт, это 8 произвольных бит, состоящих из единиц и нулей, то в один байт можно упаковать только один байт.

Так доказываются теоремы в математике.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #33 (permalink)  
Старый 28.12.2011, 13:25
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Nekromancer
Так доказываются теоремы в математике.
Явно полез в дебри.
Тем более веб,когда мы знаем что придёт на наш запрос и как работать с этой информацией,Сами задаём форматы,правила.Там где возможны варианты ,однозначности быть не может. Точнее,однозначно будет то,что если правильно задали параметры для задачи и решение согласно этим параметрам-то однозначно получим правильный результат и однозначно будет выигрыш в чём то(зависит не велосипед ли изобретаем,ну и от степени сумашествия гения)

Последний раз редактировалось dmitriymar, 28.12.2011 в 13:33.
Ответить с цитированием
  #34 (permalink)  
Старый 28.12.2011, 13:44
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Всем привет) Немного почитал тему, и увидел, что речь в ней идет об архиваторах. Как именно работают их алгоритмы мне не известно, но согласно этой статье LZMA и этому разъяснению Метод сжатия с использованием словаря.
Иными словами, это
Сообщение от Kolyaj
упаковать два байта в один с возможностью дальнейшей распаковки
просто не возможно.

Еще можно вспомнить про хеширование, но оно не позволит решить вышеупомянутую задачу.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 28.12.2011 в 13:47.
Ответить с цитированием
  #35 (permalink)  
Старый 28.12.2011, 13:53
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Архиваторы умеют архивировать только какое-то подмножество данных. Для любого архиватора можно найти последовательность произвольной длины, которую он не сможет сжать. Т.е. в общем случае сжать два байта в один нельзя. Частное решение именно для двух байт можно было бы послушать, я пока не вижу. Три упаковать в два легче.
Ответить с цитированием
  #36 (permalink)  
Старый 28.12.2011, 14:01
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от nerv_
Немного почитал тему, и увидел, что речь в ней идет об архиваторах
об архиваторах речь не идёт. поскольку изначально ясно что если паковать н байтов ,то колимество будет m(количество после пакования)+1 указывающий что упаковку-в лучшем случае.
речь идёт о вебе,где можно создать изначально структуру и изначально знать что в ней без доп байт,что в большинстве случаев реализуемо и в этом случае можем получить вместо 2 х байт 1 и распаковать их назад без последствий.поэтому применительно к веб нет ответа однозначного
Ответить с цитированием
  #37 (permalink)  
Старый 28.12.2011, 14:01
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Kolyaj
Для любого архиватора можно найти последовательность произвольной длины, которую он не сможет сжать.
также можно найти последовательность какую он сожмёт не в 2 раза а в 15 и более
Ответить с цитированием
  #38 (permalink)  
Старый 28.12.2011, 14:11
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Kolyaj
Частное решение именно для двух байт можно было бы послушать
Сообщение от dmitriymar
в этом случае можем получить вместо 2 х байт 1 и распаковать их назад без последствий
dmitriymar, так расскажи нам скорее
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #39 (permalink)  
Старый 28.12.2011, 14:15
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от B~Vladi
dmitriymar, так расскажи нам скорее
Я не читал первую страницу этой темы.
глянь там ранее. ты когда делаешь аякс запрос и знаешь что придёт текст -ничего не мешает его соответствующе упаковать на сервере и распаковать на клиенте.XHR2 позволяет. вопрос сколько ресов сожрёт
Сообщение от Kolyaj
Частное решение именно для двух байт можно было бы послушать, я пока не вижу. Три упаковать в два легче.
посмотри там выше -для текста -с 2х байт утф8 получаем один -если речь идёт об использовании текстовой информации на 2х языках,при условии что мы знаем какие это языки и ограничиваем набор символов-в пределах разумного
конечно,частично повторяет принцип утф8 с латиницей,но в варианте с русским сокращает объём,да и чарсет у страницы остаётся утф-8-что в плюс.

Последний раз редактировалось dmitriymar, 28.12.2011 в 14:26.
Ответить с цитированием
  #40 (permalink)  
Старый 28.12.2011, 14:21
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

dmitriymar,
а как распаковать?

Кстати можно при желании и в первом лвле, но всё вопрос.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбиение строки на десятимерный массив cbone Общие вопросы Javascript 7 23.11.2011 08:15
Как создать многомерный массив FRIE Общие вопросы Javascript 29 02.06.2010 19:14
записать массив байт на сервер karabura AJAX и COMET 1 06.08.2009 05:21