我需要打印压缩文件中文件的注释:
import zipfile
def info_zip(archive_name):
with zipfile.ZipFile(archive_name) as challenge:
for info in challenge.infolist():
print(info.comment)
但我得到的结果并不好:
b'G'
b' '
b'E'
b' '
b' '
b'*'
b'*'
b' '
我对记忆空间的话题感到困惑。假设我们有以下字符串:
String from = "Hello I am from Chicago";
如果我使用Huffman编码、LZ4或GZip等对其进行编码(此时编码算法并不重要):
String encodedFrom= encodingLibrary.encode(from);
现在,encodedName所能容纳的内存空间将少于name所占用的内存空间吗?
我感到困惑是因为,当我们存储字符串时,即使有更少的位,VM (或OS本身,或其他什么)也会在末尾添加填充以完成字节。差不多吧。因此,在一天结束时,编码和un-encoded字符串的
我正在寻找一种压缩基于ascii的字符串的方法,有什么帮助吗?
我还需要解压它。我尝试过zlib,但没有得到任何帮助。
怎样才能将字符串压缩成较短的长度?
代码:
def compress(request):
if request.POST:
data = request.POST.get('input')
if is_ascii(data):
result = zlib.compress(data)
return render_to_response('index.html'
我正在从的远程json中提取数据。我遇到的问题是,这个API在构建JSON时没有正确地处理UTF-8编码(如果我错了,请纠正我)。例如,现在传递的部分结果是
{
"title":"IPad - please don€™t ding while you and I are asleep ",
"url":"http://modern-products.tumblr.com/post/25384729998/ipad-please-dont-ding-while-you-and-i-are-asleep
我尝试在c#中压缩一个字符串"XZJ6RTNN4NNNNNNR8YWWX7ZGWO1XXQT6PSRT5281I0WQZM75K2P3SPH81XN4M3L1WF6Q“。我使用的是在链接中标记为已回答的代码。但是我得到的压缩字符串比输入的大。标记为已应答的代码无法正常工作。请让我们知道如何减少这个字符串的大小。
public static void CopyTo(Stream src, Stream dest) {
byte[] bytes = new byte[4096];
int cnt;
while ((cnt = src.Read(bytes,
我有一个问题,我正努力用这种格式来解压文本:
eJx7v3t/QWJxcXl+UQoAJ94F3Q==
我遇到的问题是,它在这个站点上运行得很棒:。
但是我似乎无法让它与C#一起工作,我尝试过Gzip和Zip,但是它们都会引发无效的数据错误。
using (Stream fs = GenerateStreamFromString("eJx7v3t/QWJxcXl+UQoAJ94F3Q=="))
{
using (ZipArchive zip = new ZipArchive(fs, ZipArchiveMode.Read))
{
//Do stu
我有一个非常长的JSON消息,其中包含超出ASCII表的字符。我将其转换为字符串,如下所示:
messStr = json.dumps(message,encoding='utf-8', ensure_ascii=False, sort_keys=True)
我需要使用一个将其大小限制为X字节的服务来存储此字符串。我想将JSON字符串拆分为长度为X的几个部分,并将它们分开存储。我在执行此操作时遇到了一些问题(如所述),因此我想压缩字符串片来解决这些问题。我试着这样做:
ss = mStr[start:fin] # get piece of length X
ssc = z
我正在编写一段代码来打开一个(可能是gzipped格式的)文本文件,该文件可以在Python2和Python3中工作。
如果我只有普通的文本文件(不是压缩的),我可以这样做:
import io
for line in io.open(file_name, encoding='some_encoding'):
pass
如果我不关心解码(在python2/3中使用字符串/字节)
if file_name.endswith('.gz'):
file_obj = gzip.open(file_name)
else:
file_obj = op
我有一个程序,我生成大约80到150比特的比特流,我想压缩它们,因为我要把它们转换成某种ASCII字符串,这样人们就可以到处传输它们。
有没有人知道一个好的,免费的比特感知压缩器,可以在这样的流上工作?我对“标准选项”的主要问题是,这个流实际上应该被视为位,而不是字节,否则结构就会丢失,并且它们的开销会淹没任何收益。
添加:
我想压缩这些流的原因是因为用户将对它们进行cutting+pasting,可能会使用像base64编码这样的编码,所以保存一些数据是有帮助的。
对于那些想看的人,这里有一个例子。我将添加格式以使其更易于阅读:
110 110 - This is a 6x6 grid (t