最近我遇到了一个很好的问题,这个问题变得简单易懂,很难find解决办法。 问题是: 编写一个程序,从input中读取文本,并在输出上打印其他程序。 如果我们编译并运行打印的程序,它必须输出原文。 input文本应该是相当大的(超过10000个字符)。 唯一的(也是非常强大的)要求是档案的大小(即打印的程序)必须严格小于原始文本的大小。 这使得不可能明显的解决scheme std::string s; /* read the text into s */ std::cout << "#include<iostream> int main () { std::cout<<\"" << s << "\"; }"; 我相信这里会使用一些归档技术。
有一个非常快的Java压缩库吗? 标准的gzip库比我想要的要慢。 我正在寻找类似http://www.oberhumer.com/opensource/lzo/的东西,这是本地Java代码,提供快速压缩和解压缩。 谢谢! 其他一些快速压缩库供将来参考: QuickLZ – C / C#/ Java – GPL或商业http://www.quicklz.com/ libLZF – C – BSD格式的许可证http://oldhome.schmorp.de/marc/liblzf.html FastLZ – C – MIT风格许可证http://fastlz.org/ LZO C – GPL或商业版http://www.oberhumer.com/opensource/lzo/ zlib – C / Java(GZIP和deflate) – 商业友好的许可http://zlib.net/ Hadoop-LZO集成(JNI): http : //github.com/kevinweil/hadoop-lzo Snappy-Java(JNI): https : //github.com/xerial/snappy-java QuickLZ人的基准: http ://www.quicklz.com/bench.html
据我所知,JPEG是一种有损压缩标准,“质量”因素控制着压缩的程度,从而控制了数据的丢失量。 但是,当质量数字设置为100时,生成的jpeg是无损的吗?