对于一个项目,我必须存储大量的文本,我希望通过zlib压缩文本来保持数据库的小。有没有一种方法可以通过测试子字符串而不解压缩来搜索zlib压缩的文本?
我想做以下几件事:
>>> import zlib
>>> lorem = zlib.compress("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
我想知道如何证明Lempel ZIV 77压缩算法确实是最优压缩。
我发现了以下信息:
So how well does the Lempel-Ziv algorithm work? In these notes, we’ll
calculate two quantities. First, how well it works in the worst case, and
second, how well it works in the random case where each letter of the message
is chosen uniformly and independen
我在互联网上创建了以下字符串压缩代码。当我压缩一个简单的字符串时,返回值是非常不同的。
例如,Compress("abc")返回"AwAAAB+LCAAAAAAABADtvQdgHEmWJSYvbcp7f0r1StfgdKEIgGATJNiQQBDswYjN5pLsHWlHIymrKoHKZVZlXWYWQMztnbz33nvvvffee++997o7nU4n99//P1xmZAFs9s5K2smeIYCqyB8/fnwfPyKyyfT/AcJBJDUDAAAA“
我可以接受简单的字符串结果吗?
谢谢
using System.IO.Compression;
using
我想在json包中包含一个大的压缩字符串,但是遇到了一些困难。
import json,bz2
myString = "A very large string"
zString = bz2.compress(myString)
json.dumps({ 'compressedData' : zString })
这将导致一个
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 10-13: invalid data
一个显而易见的解决方案是对整个json结构进
在我们开始之前,我正在使用的当前代码如下:
with open(classFileName,"a+"): as openFile
fileData = openFile.readlines()
try:
fileData = zlib.decompress(str(fileData))
except:
pass
with open(classFileName,"a+") as openFile:
openFile.write(fileData)
with open(classFileName,&
我想在c#中操作一种算法来同时压缩长字符串和短字符串,我尝试的所有算法都能够压缩长字符串,但不能压缩短字符串(大约5个字符)。代码是:
using System;
using System.Collections.Generic;
using System.IO.Compression;
using System.IO;
using System.Collections;
using System.Text;
namespace CompressString {
internal static class StringCompressor
{
/// <summary>
我的Swift应用程序与用Go编写的服务器通信。我希望使用Zlib压缩传输的数据,但压缩结果似乎与Swift和Go不同。
以下是Go版本:
sourceString := "A-t-elle besoin d'autres preuves ? Acceptez-la pour le plaisir. J'ai tant fait que de la cueillir, Et c'est presque une fleur-des-veuves."
// Compression
var b bytes.Buffer
writer := zlib.NewW
我已经从图像中提取了base64字符串,然后对base64 string.Then执行压缩,并使用压缩后的字符串生成二维码。但是当我使用android手机扫描(二维码)结果时,我得到的值类似于17740296,这不是我想要的值。我的目的是在获得扫描值后,将其解压缩,并使用base64中的位图显示图像。我的代码中哪里出了问题。我正在使用java代码来生成二维码。(我也尝试过UTF-8,但不起作用)。此代码适用于字符串,但不适用于图像。
压缩代码是-
public static String compressBD(String str) throws IOException {
if (s
我有一个文件,我需要一块一块地读入内存并压缩它。
为此,我使用Zlib库。此库通过使用方法compressobj()提供流选项。
def read_in_chunks(file_object, chunk_size=1024*2):
while True:
data = file_object.read(chunk_size)
if not data:
break
yield data
def compress_chunks(gen_obj):
for i in gen_obj:
compress = zlib.com
Is there is a way to reduce the length of a string
using String encoding algorithm.
不幸的是,"Huffman编码“不是我的解决方案。我正在搜索一个编码算法,它接受一个字符串并生成一个比原始字符串(输入)更短的字符串。
我将图像保存为字符串:
import base64, os
with open(os.path.join("sprites","asteroids.png"), "rb") as imageFile:
str_file = base64.b64encode(imageFile.read())
with open(os.path.join("sprites","asteroids_string.s "), "wb") as stringFile:
stringFile.write(