有没有得到需要的一些神奇的“zlib的同步刷新”使用时boost::iostreams::zlib_compressor?只需调用flush过滤器上,或strict_sync在filtering_ostream包含它没有看到做的工作(即我想压缩机冲刷足够的解压缩器可以恢复所有字节压缩机消耗到目前为止,没有关闭流)。
查看标头,似乎定义了一些“冲洗代码”(特别是a sync_flush),但我不清楚应如何使用它们(请注意,我的压缩器只是添加到了filtering_ostream)。
我不明白2.X它有效:
import zlib
zlib.compress('Hello, world')
Run Code Online (Sandbox Code Playgroud)
现在我有一个:
zlib.compress("Hello world!")
TypeError: must be bytes or buffer, not str
Run Code Online (Sandbox Code Playgroud)
我怎么能压缩我的字符串?问候Bussiere
我是Plone新手,我正在尝试使用统一安装程序在Ubuntu 11.04 Natty上安装Plone 4.0.5.
我解压缩安装程序并./install.sh zeo以root身份运行,我收到以下错误:
ZEO Cluster Install selected Detailed installation log being written to /tmp/Plone-4.0.5-UnifiedInstaller/install.log Root install method chosen. Will install for use by system user plone Installing Plone 4.0.5 at /usr/local/Plone User 'plone' already exists. No need to create it. Skipping libjpeg build Skipping zlib build Skipping readline build Installing Python 2.6.6. This takes a while... Traceback (most recent call last): File "", line 1, in LookupError: unknown encoding: zip Python zlib support is missing; …
使用linux命令行工具gzip我可以告诉压缩文件的未压缩大小gzip -l.
我在zlib手册部分"gzip文件访问函数"中找不到任何类似的函数.
在这个链接上,我找到了一个解决方案http://www.abeel.be/content/determine-uncompressed-size-gzip-file,它涉及读取文件的最后4个字节,但我现在正在避免它,因为我更喜欢使用lib的功能.
起初,我只想使用安装feedparser和python3.2,而它需要Distribute.当我安装Distribute时
python3.2 setup.py install
Run Code Online (Sandbox Code Playgroud)
我有
File "/usr/local/lib/python3.2/zipfile.py", line 687, in __init__
"Compression requires the (missing) zlib module")
RuntimeError: Compression requires the (missing) zlib module
Run Code Online (Sandbox Code Playgroud)
然后我下载了zlib并安装了它
./configure --prefix=/usr/local/python3.2
make
sudo make install
Run Code Online (Sandbox Code Playgroud)
安装后,并尝试安装Distribute,我得到了同样的错误.
有人可以告诉我我需要使用哪个函数来解压缩已经用vb.net的gzipstream压缩的字节数组.我想使用zlib.
我已经包含了zlib.h但是我无法弄清楚我应该使用哪些函数.
我正在尝试使用sorl缩略图启动并运行但我收到错误"解码器zip不可用".
我已阅读了大量类似的网页,称这是PIL/Pilow问题.
我试过通过以下方式重新安装pil:
easy_install http://dist.plone.org/thirdparty/PIL-1.1.7.tar.gz
Run Code Online (Sandbox Code Playgroud)
以及:
pip uninstall PIL Pillow
pip install Pillow
pip install PIL
Run Code Online (Sandbox Code Playgroud)
我读到 Ubuntu使用一个名为/ lib/x86_64-linux-gnu的目录来实现x64架构.如果您正在使用该体系结构,则需要为该体系结构以及其他共享库创建符号链接.
$ sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 /lib/libz.so
Run Code Online (Sandbox Code Playgroud)
附加信息:
操作系统:Ubuntu Precice
我没有尝试从源代码安装包zlib,其他一些人也提到过它们.
我的目标是在并行线程中压缩相同源的数据.我已经定义了列表中的作业,这些作业具有读取信息(每个作业中500kb-1MB).
我的压缩器线程将使用ZLIB压缩每个块的数据并将其存储在相应作业的outbuf中.
现在,我想合并所有这些并创建一个标准ZLIB格式的输出文件.
从ZLIB RFC和浏览了pigzee的来源后,我明白了
ZLIB标题如下所示
+---+---+
|CMF|FLG| (2 bytes)
+---+---+
+---+---+---+---+
| DICTID | (4 bytes. Present only when FLG.FDICT is set)
+---+---+---+---+
+=====================+
|...compressed data...| (variable size of data)
+=====================+
+---+---+---+---+
| ADLER32 | (4 bytes of variable data)
+---+---+---+---+
Run Code Online (Sandbox Code Playgroud)
就我而言,也没有字典.
所以当我组合两个压缩单元时,所有单元的标题都是相同的.
因此,我正在做以下的操作.
对于第一个单元,我正在编写标头+压缩数据.
对于第二个单元到最后一个单元,我只写了压缩数据(没有标题,没有预告片)
完成所有单元后,我正在使用adlrer32_combine()并将所有作业输出数据的校验和转换为最终的一个adler 32,然后我在底部更新输出文件.
但问题是,我在deflate期间收到错误,说某些地方的数据无效.
有人已经尝试过这样的事吗?任何相关信息都会非常有用.
我想知道DEFLATE如何确定块大小(我的意思是,在zlib中.)
在RFC 1591中,存在以下解释:"当压缩器确定启动具有新树的新块时,或者当块大小填满压缩器的块缓冲区时,压缩器将终止块."
这对我来说还不够.我想知道结束当前块需要什么条件并详细启动新块.
DEFLATE如何决定新鲜的发辫是否有用?压缩器块缓冲区的大小是多少?
在程序中使用zlib并注意到"foo"在Windows 1F8B080000000000000A4BCBCF07002165738C03000000和Linux 上压缩的方式有一点差异1F8B08000000000000034BCBCF07002165738C03000000.两者都解压缩回"foo"
我决定在我们的代码外部检查以确定实现是否正确并使用zlib存储库中的测试程序进行双重检查.我得到了相同的结果:
Linux的: echo -n foo| ./minigzip64 > text.txt'
视窗: echo|set /p="foo" | minigzip > text.txt
什么能解释这种差异?这是个问题吗?
1F8B 0800 0000 0000 000 *3/A* 4BCB CF07 0021 6573 8C03 0000 00
zlib ×10
compression ×5
c++ ×3
python ×2
boost ×1
c ×1
deflate ×1
distribute ×1
django ×1
flush ×1
gzip ×1
linux ×1
pillow ×1
plone ×1
python-3.2 ×1
python-3.x ×1
string ×1
ubuntu ×1