Текстовый архиватор-демо.
препроцессор и пи-сокращения по словарю. (до пи-шаблонов и пи-выражений дело пока не дошло надо словари делать) скачать minus+img+txt(300k) скачать рус.словари 150тыс слов (1.6м) использование : txt file (кодирование - добавит .pi1) txt file.pi1 (декодирование - удалит .pi1) язык - только русский+теги. Другие языки будет сжимать намного хуже. (но под заказ сделаю на любой язык. недорого) ключ -pre сохранять форматирование с тегом(но +5% размер) вставит в концы строк теги
-dic path -сделать словарь(потом их надо скопировать из врем в папку проги) (кодировку тут пока не исправляет так что надо тексты в win-1251 и много) чем больше семейство словаря тем хуже сожмутся файлы внутри семейства но лучше вне) -dos конвертировать в win кодировку из дос -uni -utf -koi по умолчанию сама определит. ошибается редко. потом будет контроль по словарю. если много дос-псевдографики то лучше минусом сжать. таб меняет на ( _ ). & на amp. < на lt иубирает символы 0-31 128-191 меняет на пробел. ёЁ на еЕ. потом по словарю восст. назад. скрипты и стили выносит во внешние файлы и делает на них ссылку. js css сжимать лучше минусом пока. но потом будет словарь для них тоже и тут 0-31 нельзя удалять -работать не будет. так что если это не подходит то минусом сжимайте. файл размером 1170 -utf сжался в 247+164(css)=411 а просто минусом 491 кодировка на сжатие мало влияет просто не люблю я это многообразие кодировок. надо стандартизировать и пользоваться одной. текст в семействе словаря (15 мб текста) из 440к сж. в 95к (RAR-124к/PMD-115к) то есть немного но 30% это всё таки не 5% и в сочетании со сжатием GIF в 3 раза сайт с картинками сожмется в 2 раза а значит и скорость загрузки увеличится в 2 раза, а при гигантских страницах типа яндекса и маил.ру и забитых вай-фаях можно разницу очень даже ощутить.. но надо браузер писать, плагины, словари делать. помощники нужны. может что-то продать получится.. ------------------------------- Ходил я с этой идей год. Яндекс и МТС достали своими большими страницами. Пи-кодирование оказалось делом времязатратным и безнадёжным. в 64к самых популярных входят меньше половины слов среднестатистического текста. больше всего занимают место редкие и длиные слова. а на них нужен уже 3х симв пи-код. так что приходим к тому что словарь должен быть на все слова какие есть вообще но для масштабируемости, гибкости и добавления лучше использовать словарь сокращений маркер(~)+первая_буква+индекс (для рус. букв маркер+букву можно заменить заглавной ДОС рус буквой (-223+128) 128-159 А-Я это для текстов внутри семейства увеличивает сжатие +2%, а вне семейства немножко ухудшает -0.2%) индекс это пусто/1/2 символа кроме 0 и 32 индекс 1 и 2х символьный не с 1+ а по рейтингу буквы/пары-так выгодней. самым частым словам достаётся самый короткий и меньший индекс. при таком раскладе макс 16 млн слов. и выигрыш 20% если текст из множества словаря. Словарь строится на множестве текстов. он тематический. Множество текстов образуют семейство словаря. текст вне семейства это текст по которому не было выборки слов. (пока в демо варианте - множество на научной фантастике. легкий HTML.) если тест вне множества то выигрыш 15% и меньше. Глобальный словарь сокращений пусть фирмы делают типа яндекс - у них все базы за много лет и рейтинги слов. или инвесторы нужны и команда. При большом словаре время на поиск и замену увеличивается, так что 200 тыс пока это оптимально. а потом подумаем. надо ещё попробовать БД другие и сравнить скорости обработки текста.. ---------------------------- Кодер пока тормозной - чисто Демо . идею показать. но можно ускорить. вобщем сыроват чисто посмотреть и удивиться. пользоваться конечно опасно пока. Ищите ошибки и пишите на мыло. они есть. там везде натыкано проверок, строки вместо массивов поэтому медленно. вобщем отладочный режим. да и словарь так себе. у меня есть на 400 тыс слов на семействе гиг текстов за 10 лет в инете, но там мусора полно. надо чистить, но пока некогда. Чем больше семейство словаря тем хуже индексы в целом и сжатие тоже. Лучше иметь нес-ко словарей на разные темы - наука/бизнес/книги/чат и пр. .piN N - номер словаря. При декодировании могут появится лишние пробелы или исчезнет пробел. но все слова и знаки сохранены гарантировано. пробелы возле скобок искажает иногда. пока.. нет статистики. после точки ставит пробел и след буква Заглавная автоматически. Типа ошибки исправляет. слова все маленькими для похожести. но там где нужна заглавная вставляется маркер(15) или (14) для СЛОВО. при кодировании будет словарь автозамены опечаток/ошибок/рус-лат на правильные а при декодировании ё-замена и нормализация названий/имён (автобанк->АвтоБанк) кроме синонимов типа (клава-Клава). Словари все есть на движке FastSQL. всякими mySQL/mdb и пр. не пользуюсь. т.к они хуже и глючат. поддержка рус. слов никакая и их настраивать надо. Движок FastSQL мой. потом на С+ Asm-Flat перепишу. вещь стоящая. алгоритм поиска убойный с 3-мя ускорялками. рекомендую. Словарь сокращений вместо пи-кодов. (выгоднее и удобней) чем популярней слово(выше рейтинг) тем короче его сокращение. индекс начинается не с 1,2,3 а с "аое.." c самых частых символов. алгоритм обработки текста 1. определить кодировку по первым 1000 байт 2. в 1251 3. меняем все 10 на 13 13+13 на 13 4. выносим стили и скрипты во внешн файл имя первые три на лат +000.js css 5. если нет тега PRE то мочим все 13 и 32+32 и 9 если есть то меняем 9 на 32+_+32 если важно фоматирование то можно кратно 8 13+точка на параграф &<> & < на _____ где надо ровно
13? 6. теги внутри словарь 1-255 0-роу все в локейс если пробел то 7. пробелы вставляем везде для разделения слов. нач. кавычку меняем на маркер *для упаковки архива в HTML надо найти самый редкий и 5 самых частых редкий это маркер частые будут означать 0 10 13 < сам в порядке частоты 10 вроде необязательно но на всякий случай. идея упаковки сайта такая. в хтмл в тег xmp пихаем код архива - экранируя 0/10/13/60 в начале1-номер словаря. скрипты и стили выносим во внешние. чтобы легче было отключить и фильтром блокировать загрузку если пока не нужны. картинки все в формат IMG + ссылки правим. для просмотра нужен браузер. локал прокси или плагин к сущ браузеру. хтмл загрузится без вопросов как документ. дальше вытаскивает код распаковываем img->gif меняем ссылки пишем во врем папку и показываем обычным браузером. Экономия в 2раза как минимум. Если картинок много то в 4-5 раз. скорость в перегруженых сетях вырастет как минимум в 2 раза. это не на 5-10%. а очень существено. При перепечатке ссылка на первоисточник обязательна. Xing 2016 explay-m3.narod.ru