![]() |
|
|
![]()
|
|
| Арматур Батыр |
|
|||
|
Unregistered |
Надо сжать строку и распаковать потом.
Я не математик и мне чёто туго с этими делами, а юзать LZMA тут слишком круто будет. Вот типа надо придумать функции:
Принимаю идеи на любых языках, дальше переведу сам. Также буду очень рад ссылкам по теме. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
В общем случае строку может оказаться вообще невозможно сжать...
Мало (слишком мало!) данных. Что за строка? какой возможен набор символов? какие требования к скорости работы? и т.п... Ссылки по теме - описания и исходники любых свободных алгоритмов компрессии и литература на эту тему, т.е. более чем много. ЗЫ. Если ты не на полчаса - можешь зарегистрироваться. По крайней мере будешь уведомления об ответах в мыло получать. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Арматур Батыр |
|
|||
|
Unregistered |
Строка обычная от 1 до 255 символов.
Ориентировочно содержит текст, т.е. символы A..Z, А..Я, 0..9 + спец. Желательна быстрая работа. Программа будет встроена в базу Oracle. |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 4 Всего: 360 |
|
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
ИМХО, если строка меньше 10-15 символов, то сжимать вообще не стОит.
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
DENNN
а может там 15 цифр... так чего же не сжать? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: нет Всего: 55 |
Поскольку под спец можно понимать все кроме A..Z, А..Я, 0..9, то получается весь набор. -------------------- Все знать невозможно, но хочется |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Согласен. Только автора надо за язык тянуть, чтоб он сказал что же за текст у него |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: нет Всего: 55 |
Похоже он сам не знает
-------------------- Все знать невозможно, но хочется |
|||
|
||||
| Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: нет Всего: 62 |
По моему сжимать одну строку не имеет смысла. Служебрая информация может оказаться больше исходной строки.
Если бы можно было сделать буферизацию, т.е. накапливать строки например в массиве, то это уже другое дело. |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: нет Всего: 55 |
Смысл иногда имеется. Но только тогда, когда строка гарантированно содержит избыточность. Если же в строке может быть все что угодно, то смысла и правда нет.
-------------------- Все знать невозможно, но хочется |
|||
|
||||
| Y-Vladimir |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 16.7.2004 Где: Казань Репутация: 1 Всего: 6 |
LZW и Хафман позволяет жимать безо всякой служебной информации - эти алгоритмы можно применять при любой длине строки. И не настолько они сложные - исходников полно. Это сообщение отредактировал(а) Y-Vladimir - 12.8.2005, 13:53 |
|||
|
||||
| Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: нет Всего: 55 |
Интересно, это как?
Ну и во что он сожмет строку: "Вася+Петя=?" ? Думаю что в лучшем случае в результате получится: "Вася+Петя=?". Добавлено @ 17:14 Применять-то конечно можно. Только вот что получишь в результате? Это сообщение отредактировал(а) Петрович - 12.8.2005, 17:13 -------------------- Все знать невозможно, но хочется |
||||
|
|||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Сделай словарик, как мне сказали в "40 Гб" и по нему сжимай хоть до килобайта.
Ведь уже доказывалось и не раз, что текст сжать невозможно(док-во на бинарном алфавите). -------------------- Всем добра |
|||
|
||||
| esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
Самой лучшей программой сжатия, является ф-ия сору. Она единственная НИКОГДА не увиличивает размер исходного файла.
-------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |