# kivakit-utilities compression ![](../../documentation/images/compress-52.png)
This module contains packages for compressing and decompressing data.
![](documentation/images/horizontal-line.png)
### Index
[**Dependencies**](#dependencies)
[**Summary**](#summary)
[**Codecs**](#codecs)
[**Character**](#character)
[**Class Diagrams**](#class-diagrams)
[**Package Diagrams**](#package-diagrams)
[**Javadoc**](#javadoc)
### Dependencies <a name="dependencies"></a> ![](documentation/images/dependencies-40.png)
[*Dependency Diagram*](documentation/diagrams/dependencies.svg)
#### Maven Dependency
<dependency>
<groupId>com.telenav.kivakit</groupId>
<artifactId></artifactId>
<version><!-- ${project-version} --> 0.9.0-SNAPSHOT <!-- end --></version>
</dependency>
![](documentation/images/horizontal-line.png)
[//]: # (start-user-text)
### Summary <a name = "summary"></a>
This module contains a definition of a compressor / decompressor, otherwise known as a *Codec*.
The design of this codec mini-framework is centered around direct access to byte buffers (*ByteList*s)
for optimal efficiency. For other purposes, existing stream-oriented compressors already exist,
including the support for ZIP format in the JDK. This module also contains an implementation of
a fast (table-driven) [*Huffman*](https://en.wikipedia.org/wiki/Huffman_coding) codec.
### Codecs <a name = "codecs"></a>
The *Codec* interface is generic to any compression type and any symbol type and looks like this:
public interface Codec<Symbol>
{
boolean canEncode(Symbol symbol)
ByteList encode(ByteList output, SymbolProducer<Symbol> producer)
void decode(ByteList input, SymbolConsumer<Symbol> consumer)
}
The *encode()* method performs huffman coding of the symbols produced by the given *SymbolProducer*,
and writes the compressed representation to the given *ByteList*. The *decode()* method takes a *ByteList*,
and decodes the compressed data, calling a *SymbolConsumer* with each decoded symbol.
### Character <a name = "character"></a>, String and Tag Codecs
The *CharacterCodec*, *StringCodec* and *StringListCodec* interfaces provide a definition of compression
by character, string and string list, respectively. The same underlying *Huffman* coder is used to implement
all three.
[//]: # (end-user-text)
### Class Diagrams <a name="class-diagrams"></a> ![](documentation/images/diagram-48.png)
None
### Package Diagrams <a name="package-diagrams"></a> ![](documentation/images/box-40.png)
[*com.telenav.kivakit.data.compression*](documentation/diagrams/com.telenav.kivakit.data.compression.svg)
[*com.telenav.kivakit.data.compression.codecs*](documentation/diagrams/com.telenav.kivakit.data.compression.codecs.svg)
[*com.telenav.kivakit.data.compression.codecs.huffman*](documentation/diagrams/com.telenav.kivakit.data.compression.codecs.huffman.svg)
[*com.telenav.kivakit.data.compression.codecs.huffman.character*](documentation/diagrams/com.telenav.kivakit.data.compression.codecs.huffman.character.svg)
[*com.telenav.kivakit.data.compression.codecs.huffman.list*](documentation/diagrams/com.telenav.kivakit.data.compression.codecs.huffman.list.svg)
[*com.telenav.kivakit.data.compression.codecs.huffman.string*](documentation/diagrams/com.telenav.kivakit.data.compression.codecs.huffman.string.svg)
[*com.telenav.kivakit.data.compression.codecs.huffman.tree*](documentation/diagrams/com.telenav.kivakit.data.compression.codecs.huffman.tree.svg)
[*com.telenav.kivakit.data.compression.project*](documentation/diagrams/com.telenav.kivakit.data.compression.project.svg)
### Javadoc <a name="javadoc"></a> ![](documentation/images/books-40.png)
Javadoc coverage for this project is 65.4%.
![](documentation/images/meter-70-12.png)
| Class | Documentation Sections |
|---|---|
| [*CharacterCodec*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/CharacterCodec.html) | |
| [*CharacterFrequencies*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/character/CharacterFrequencies.html) | |
| [*Code*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/tree/Code.html) | |
| [*Codec*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/Codec.html) | |
| [*CodedSymbol*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/tree/CodedSymbol.html) | |
| [*DataCompressionKryoTypes*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/project/DataCompressionKryoTypes.html) | |
| [*DataCompressionProject*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/project/DataCompressionProject.html) | |
| [*DataCompressionUnitTest*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/project/DataCompressionUnitTest.html) | |
| [*FastHuffmanDecoder*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/FastHuffmanDecoder.html) | |
| [*FastHuffmanDecoder.Table*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/FastHuffmanDecoder.Table.html) | |
| [*FastHuffmanDecoder.Table.Entry*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/FastHuffmanDecoder.Table.Entry.html) | |
| [*HuffmanCharacterCodec*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/character/HuffmanCharacterCodec.html) | |
| [*HuffmanCharacterCodec.Converter*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/character/HuffmanCharacterCodec.Converter.html) | |
| [*HuffmanCodec*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/HuffmanCodec.html) | |
| [*HuffmanStringCodec*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/string/HuffmanStringCodec.html) | |
| [*HuffmanStringCodec.Converter*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/string/HuffmanStringCodec.Converter.html) | |
| [*HuffmanStringListCodec*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/list/HuffmanStringListCodec.html) | |
| [*Leaf*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/tree/Leaf.html) | |
| [*Node*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/tree/Node.html) | |
| [*StringCodec*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/StringCodec.html) | |
| [*StringFrequencies*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/huffman/string/StringFrequencies.html) | |
| [*StringListCodec*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/codecs/StringListCodec.html) | |
| [*SymbolConsumer*](https://telenav.github.io/kivakit/javadoc/kivakit.data.compression/com/telenav/kivakit/data/compression/SymbolConsumer.html) | |
| [*SymbolCons
没有合适的资源?快使用搜索试试~ 我知道了~
kivakit-extensions:扩展KivaKit的模块-源码
共394个文件
png:117个
html:111个
java:44个
需积分: 5 0 下载量 28 浏览量
2021-04-10
05:39:32
上传
评论
收藏 9.38MB ZIP 举报
温馨提示
KivaKit扩展0.9.0-快照 该项目包含扩展KivaKit的模块。 概括 kivakit-extensions存储库为扩展kivakit的KivaKit模块提供了一个位置。 项目资源 资源资源 描述 项目名 KivaKit扩展 概括 扩展KivaKit的模块 Javadoc覆盖范围 带领 乔纳森·洛克(罗志波) 行政人员 乔纳森·洛克(罗志波) 电子邮件 推特 问题 GitHub问题 代码 的GitHub 查看 git clone git@github.com:Telenav/kivakit-extensions.git 参考 Java文档 专案 kivakit数据 Javadoc覆盖范围 kivakit数据压缩 kivakit-数据格式-csv kivakit-数据格式库 版权所有:copyright:2011-2021 Telenav ,Inc.,根据Apache许可
资源详情
资源评论
资源推荐
收起资源包目录
kivakit-extensions:扩展KivaKit的模块-源码 (394个子文件)
string.codec 4KB
string.codec 4KB
character.codec 3KB
character.codec 3KB
stylesheet.css 21KB
jquery-ui.css 20KB
jquery-ui.min.css 17KB
jquery-ui.structure.css 2KB
jquery-ui.structure.min.css 2KB
SampleCsv.csv 425B
SampleUnquotedCsv.csv 369B
element-list 591B
.gitignore 263B
.gitignore 252B
.gitignore 216B
.gitignore 51B
.gitignore 17B
lexakai.groups 5KB
lexakai.groups 5KB
lexakai.groups 5KB
index-all.html 116KB
CsvLine.html 31KB
module-summary.html 27KB
HuffmanCharacterCodec.html 26KB
Symbols.html 26KB
module-summary.html 25KB
module-summary.html 25KB
allclasses-index.html 24KB
HuffmanCodec.html 23KB
HuffmanStringCodec.html 23KB
overview-tree.html 21KB
CsvReader.html 20KB
Symbols.html 19KB
HuffmanStringListCodec.html 19KB
CsvSchema.html 19KB
DataFormat.html 18KB
CsvWriter.html 17KB
SymbolProducer.html 16KB
CodedSymbol.html 16KB
Tree.html 16KB
SymbolConsumer.html 15KB
Codec.html 15KB
CodedSymbol.html 15KB
Node.html 15KB
HuffmanCharacterCodec.Converter.html 15KB
HuffmanStringCodec.Converter.html 14KB
StringFrequencies.html 14KB
UnquotedCsvReader.html 14KB
Codec.html 14KB
CsvPropertyFilter.html 14KB
package-use.html 14KB
CharacterFrequencies.html 14KB
DataCompressionProject.html 14KB
SymbolConsumer.Directive.html 14KB
SymbolProducer.html 13KB
CsvColumn.html 13KB
FastHuffmanDecoder.html 13KB
StringCodec.html 13KB
CsvColumn.html 13KB
Tree.html 13KB
CsvSchema.html 12KB
SymbolConsumer.html 12KB
Leaf.html 12KB
package-use.html 12KB
Code.html 12KB
FastHuffmanDecoder.Table.html 12KB
DataCompressionUnitTest.html 11KB
StringCodec.html 11KB
Code.html 10KB
FastHuffmanDecoder.Table.Entry.html 10KB
package-use.html 10KB
DataCompressionKryoTypes.html 9KB
HuffmanCharacterCodec.html 9KB
CharacterCodec.html 9KB
HuffmanStringCodec.html 8KB
SymbolConsumer.Directive.html 8KB
CharacterCodec.html 8KB
HuffmanCodec.html 8KB
StringListCodec.html 8KB
package-tree.html 8KB
StringFrequencies.html 8KB
DataFormat.html 7KB
package-summary.html 7KB
CsvLine.html 7KB
CsvReader.html 7KB
package-summary.html 7KB
CharacterFrequencies.html 7KB
StringListCodec.html 7KB
DataCompressionProject.html 7KB
package-use.html 7KB
package-use.html 7KB
package-summary.html 7KB
package-tree.html 6KB
allpackages-index.html 6KB
package-tree.html 6KB
package-use.html 6KB
package-tree.html 6KB
package-tree.html 6KB
package-summary.html 6KB
package-summary.html 6KB
共 394 条
- 1
- 2
- 3
- 4
温暖如故
- 粉丝: 22
- 资源: 4642
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- HM2305B-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 基于52单片机、ADC0832、LCD1602、两个74HC393和一个74HC08的频率测量计 不能用,请私我
- HM2302-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- python实战项目-学生成绩管理系统(基础版)
- 微信小程序源码 实现查公交 滴滴公交 app 源码下载
- HM2302E-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 基于C#图片相似度比较,感知哈希算法
- VR开发的概要介绍与分析
- 自动驾驶定位系列教程七:点云畸变补偿.pdf
- HM2302D-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0