WoW LibCompress аддон Dragonflight/Wrath of the Lich King Classic 2024 скачать
logo
wow addon LibCompress

LibCompress

Версия игры: 9.0.2
Всего загрузок: 43,208
Обновлено: Feb 28, 2021
Создано: Jun 1, 2008
Скачать LibCompressСкачать Предыдущие версии

Предыдущие версии

Название Размер Обновлено Версия игры Загрузок
r86-release release 17.00 KB Feb 28, 2021 9.0.2 0 скачать LibCompress r86-release releaseСкачать
r84-release release 17.05 KB Jul 3, 2018 7.3.5 3,748 скачать LibCompress r84-release releaseСкачать
r82-release release 17.08 KB Feb 25, 2018 7.3.5 1,472 скачать LibCompress r82-release releaseСкачать
r78-release release 17.02 KB Jul 15, 2017 7.2.5 2,369 скачать LibCompress r78-release releaseСкачать
r76-release release 17.40 KB Nov 6, 2016 7.1.0 3,802 скачать LibCompress r76-release releaseСкачать
r73-release release 17.31 KB Aug 28, 2016 7.0.3 3,390 скачать LibCompress r73-release releaseСкачать
7.0-release1 release 16.52 KB Jul 19, 2016 7.0.3 2,529 скачать LibCompress 7.0-release1 releaseСкачать
r69-release release 16.66 KB Apr 13, 2016 6.2.4 2,183 скачать LibCompress r69-release releaseСкачать
r65-release release 16.60 KB Aug 23, 2015 6.2.0 3,401 скачать LibCompress r65-release releaseСкачать
r60-release release 17.18 KB Jan 16, 2015 6.0.3 3,437 скачать LibCompress r60-release releaseСкачать
r49-release +1 More release 13.97 KB Jan 4, 2011 4.0.3a 7,566 скачать LibCompress r49-release

+1 More releaseСкачать
r42-release +1 More release 13.91 KB Jul 4, 2010 3.3.5 785 скачать LibCompress r42-release

+1 More releaseСкачать
LibCompress r42-release +1 More release 14.03 KB Dec 12, 2009 3.3.0 548 скачать LibCompress LibCompress r42-release

+1 More releaseСкачать
LibCompress r40-release +1 More release 13.94 KB Aug 5, 2009 3.2.0 864 скачать LibCompress LibCompress r40-release

+1 More releaseСкачать
r38-release +1 More release 13.91 KB May 3, 2009 3.1.0 182 скачать LibCompress r38-release

+1 More releaseСкачать
r36-release release 14.71 KB Nov 24, 2008 3.0.3 96 скачать LibCompress r36-release releaseСкачать
r32-release release 8.52 KB Nov 18, 2008 3.0.3 97 скачать LibCompress r32-release releaseСкачать
r30-release release 8.40 KB Nov 16, 2008 3.0.3 94 скачать LibCompress r30-release releaseСкачать
r27-release release 7.96 KB Oct 29, 2008 3.0.2 110 скачать LibCompress r27-release releaseСкачать
LibCompress-r75740 beta 8.57 KB Jun 1, 2008 2.4.3 254 скачать LibCompress LibCompress-r75740 betaСкачать
LibCompress-r74189 beta 7.30 KB May 17, 2008 2.4.3 98 скачать LibCompress LibCompress-r74189 betaСкачать
LibCompress-r73518 beta 3.46 KB May 11, 2008 2.4.3 126 скачать LibCompress LibCompress-r73518 betaСкачать
r83-alpha alpha 16.69 KB Jul 3, 2018 7.3.5 88 скачать LibCompress r83-alpha alphaСкачать
r81-alpha alpha 17.07 KB Feb 25, 2018 7.3.5 50 скачать LibCompress r81-alpha alphaСкачать
r80-alpha alpha 16.99 KB Feb 23, 2018 7.2.5 58 скачать LibCompress r80-alpha alphaСкачать
r79-alpha alpha 16.71 KB Feb 23, 2018 7.2.5 40 скачать LibCompress r79-alpha alphaСкачать
r77-alpha alpha 16.74 KB Jul 13, 2017 7.2.5 103 скачать LibCompress r77-alpha alphaСкачать
r75 alpha 17.34 KB Nov 6, 2016 7.1.0 125 скачать LibCompress r75 alphaСкачать
r74 alpha 17.24 KB Nov 6, 2016 7.1.0 90 скачать LibCompress r74 alphaСкачать
r72 alpha 17.23 KB Aug 28, 2016 7.0.3 62 скачать LibCompress r72 alphaСкачать
r70 alpha 16.46 KB Jul 19, 2016 7.0.3 61 скачать LibCompress r70 alphaСкачать
r68 alpha 16.60 KB Apr 13, 2016 6.2.4 63 скачать LibCompress r68 alphaСкачать
r67 alpha 16.61 KB Aug 24, 2015 6.2.0 316 скачать LibCompress r67 alphaСкачать
r65 alpha 16.55 KB Aug 23, 2015 6.2.0 59 скачать LibCompress r65 alphaСкачать
r64 alpha 16.50 KB Aug 23, 2015 6.2.0 79 скачать LibCompress r64 alphaСкачать
r60 alpha 17.13 KB Jan 16, 2015 6.0.3 62 скачать LibCompress r60 alphaСкачать
r58 alpha 17.10 KB Jan 16, 2015 6.0.3 62 скачать LibCompress r58 alphaСкачать
r56 alpha 17.06 KB Jan 16, 2015 6.0.3 75 скачать LibCompress r56 alphaСкачать
r55 alpha 16.96 KB Jan 16, 2015 6.0.3 67 скачать LibCompress r55 alphaСкачать
r54 alpha 16.91 KB Jan 16, 2015 6.0.3 55 скачать LibCompress r54 alphaСкачать
r53 alpha 16.85 KB Jan 16, 2015 6.0.3 62 скачать LibCompress r53 alphaСкачать
r52 alpha 16.79 KB Jan 16, 2015 6.0.3 68 скачать LibCompress r52 alphaСкачать
r51 +1 More alpha 20.93 KB Jan 16, 2015 6.0.3 66 скачать LibCompress r51

+1 More alphaСкачать
r49 +1 More alpha 13.91 KB Jan 4, 2011 4.0.3a 79 скачать LibCompress r49

+1 More alphaСкачать
r42 +1 More alpha 13.94 KB Dec 12, 2009 3.3.0 80 скачать LibCompress r42

+1 More alphaСкачать
r40 +1 More alpha 13.85 KB Aug 5, 2009 3.2.0 61 скачать LibCompress r40

+1 More alphaСкачать
r38 +1 More alpha 13.85 KB May 3, 2009 3.1.0 56 скачать LibCompress r38

+1 More alphaСкачать
r36 alpha 14.20 KB Nov 24, 2008 3.0.3 42 скачать LibCompress r36 alphaСкачать
r35 alpha 14.09 KB Nov 24, 2008 3.0.3 50 скачать LibCompress r35 alphaСкачать
r34 alpha 10.68 KB Nov 23, 2008 3.0.3 64 скачать LibCompress r34 alphaСкачать
r32 alpha 7.99 KB Nov 18, 2008 3.0.3 48 скачать LibCompress r32 alphaСкачать
r30 alpha 7.85 KB Nov 16, 2008 3.0.3 50 скачать LibCompress r30 alphaСкачать
r29 alpha 7.46 KB Nov 16, 2008 3.0.3 52 скачать LibCompress r29 alphaСкачать
r27 alpha 7.51 KB Oct 29, 2008 2.4.3 89 скачать LibCompress r27 alphaСкачать
r27 alpha 7.51 KB Oct 9, 2008 2.4.3 59 скачать LibCompress r27 alphaСкачать

Описание

Хочешь карту со своим ником? Discount 10%Оформить ❤️

LibCompress-это библиотека сжатия и декомпрессии, полностью реализованная в WoW-дружественном Lua. Он поддерживает алгоритмы LZW и Хаффмана и может автоматически выбирать наиболее эффективный алгоритм для ваших данных. Одним из популярных способов использования этой библиотеки является отправка сжатой таблицы другому игроку или дополнению. Для этого требуется дополнительная кодировка для удаления символов \000 из потока данных.

Взгляните на сообщение на форуме для получения дополнительной информации и обсуждения развития:

[http://forums.wowace.com/showthread.php?t=12660]

Использование:

Компрессия

Загрузите библиотеку с помощью:

libc = LibStub:GetLibrary("LibCompress")

Сжатие данных (должно быть в строковой форме):

compressed_data = libc:Сжатие(данных)

Это позволит попробовать все алгоритмы сжатия и вернуть наилучший сжатый результат. Можно указать конкретный алгоритм сжатия, например:

compressed_data = libc:CompressHuffman(data)

или

 compressed_data = libc:CompressLZW(данные)

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

Чтобы распаковать данные, просто используйте это:

 decompressed_data = libc:Распаковать(compressed_data)

Сжатие и распаковка могут возвращать ошибку, и об этом сигнализирует первый возвращаемый аргумент, равный нулю, а второй-сообщение об ошибке. Так что проверить это было бы уместно.

Кодирование

LibCompress также имеет возможность кодировать и декодировать данные, подготавливая их к передаче по каналу аддона или каналу чата (или пользовательской кодировке). Предусмотрены две формы кодирования:

Префиксное кодирование

Первая форма-префикс-кодирование. В основном зарезервированные символы заменяются префиксом/escape-символом, за которым следует символ суффикса, то есть зарезервированные байты заменяются двухбайтовой комбинацией. Вот как это делается:

 таблица, msg = libc:GetEncodeTable(reservedChars, escapeChars, mapChars)

reservedChars: Символы в этой строке не будут отображаться в закодированных данных.
escapeChars: Строка символов, используемых в качестве escape-символов (не предоставляйте больше, чем необходимо). #escapeChars >= 1
mapChars: Первые символы в reservedChars сопоставляются с первыми символами в mapChars. (#mapChars <= #reservedChars)

Если таблица равна нулю, то msg содержит сообщение об ошибке. В противном случае использование очень простое:

encoded_message = таблица:Кодирование(сообщение)

 сообщение = таблица:Декодирование(encoded_message)

Были включены две предопределенные настройки:

GetAddonEncodeTable: Настройка кодировки для канала аддона (кодируется\000)

GetChatEncodeTable: Настройка кодировки для канала чата (многие байты закодированы, подробнее см. функцию)

7-битное кодирование

Эта кодировка упаковывает биты, а не байты. Он помещает 7 бит в каждый байт, увеличивая данные примерно на 14%. Значения от 0 до 127 (оба включительно) присутствуют в закодированных данных, и поэтому они также должны быть закодированы префиксом. Эта кодировка генерирует немного строкового мусора и должна использоваться с осторожностью.

Кодируйте данные вот так:

 encoded_data = libc:Encode7bit(данные)

Расшифровать такие данные :

 decoded_data = libc:Decode7bit(encoded_data)

Контрольная сумма/хэш-алгоритмы

LibCompress также предоставляет 2 разумных быстрых алгоритма хэширования. Они преобразуются из C-реализации в lua и довольно быстры. Хэш-значение может быть либо 16-битным, либо 32-битным.

Используйте вот так (data1, data2, data… = string):

 код = libc:fcs16init()
 code = libc:fcs16update(code, data1)
 code = libc:fcs16update(code, data2)
 code = libc:fcs16update(код, данные...)
 code = libc:fcs16final(код)

data = string
fcs16 предоставляет 16-битную контрольную сумму, fcs32 предоставляет 32-битную контрольную сумму.

Поделиться:

Комментарии

Добавить комментарий