Comments (2)
when called main method:
13:39:00.620 [main] INFO compress - char length=3,byte array length=3
13:39:00.627 [main] INFO compress - compressed:char length=35,byte array length=35
13:39:00.627 [main] INFO compress - value=123������������������������������
Exception in thread "main" io.airlift.compress.MalformedInputException: Malformed input: offset=5
at io.airlift.compress.snappy.SnappyRawDecompressor.uncompressAll(SnappyRawDecompressor.java:124)
at io.airlift.compress.snappy.SnappyRawDecompressor.decompress(SnappyRawDecompressor.java:53)
at io.airlift.compress.snappy.SnappyDecompressor.decompress(SnappyDecompressor.java:101)
from aircompressor.
I'm not sure what is wrong with the ByteBuffer code, but this will work:
public byte[] compress(String s)
{
byte[] data = s.getBytes(StandardCharsets.UTF_8);
int length = compressor.maxCompressedLength(data.length);
byte[] out = new byte[length];
int size = compressor.compress(data, 0, data.length, out, 0, out.length);
return Arrays.copyOf(out, size);
}
public String decompress(byte[] compressed)
{
int length = decompressor.getUncompressedLength(compressed, 0);
byte[] out = new byte[length];
int size = decompressor.decompress(compressed, 0, compressed.length, out, 0, out.length);
return new String(out,0, size, StandardCharsets.UTF_8);
}
There are extensive tests for correctness that look like the above, so if you are looking for sample code checkout the tests.
from aircompressor.
Related Issues (20)
- Zstd Decompress does support files compressed by newer C version? HOT 6
- Implement other ZSTD compression levels
- Lz4 double buffering
- compile and generate class files for the given Java implementaion. HOT 1
- ZstdOutputStream writes empty stream HOT 2
- Support Zstd seekable format
- Hive fails opening split for zst compressed files
- ZStd JNI vs Aircompressor pure java performance question HOT 3
- The result is different HOT 1
- Add `SECURITY.md` file and enable vulnerability reporting HOT 2
- Set up OSS-Fuzz
- Decompression: How to determine the size of the output buffer? HOT 1
- Remove dependency on sun.misc.Unsafe? HOT 1
- May I ask if Android is usable? HOT 1
- Security vulnerability: Snappy decompressor can be made to crash JVM HOT 5
- Compression ratio is different in ZSTD algorithm between ZstdOutputStream and ZstdCompressor.compress(Bytebuffer) HOT 2
- Support lz4 framing decompression HOT 1
- ZSTD : Drive the end of decompression with both "inputLimit" and "outputLimit"
- Request: Generic Decompressor for all algos based on magic number header
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aircompressor.