草庐IT

compression

全部标签

string - 从golang中的字节数组解压gzip

我有一堆来自一些网络请求的文件,有些是gzip压缩的,我需要解压缩它们并将它们打印为字符串。这是我第一次尝试使用golang,我尝试了一些在网上找到的示例,但无法正常运行。这是我尝试的最后一个测试:packagemainimport("bytes""compress/gzip""fmt""io/ioutil")funcmain(){content:=[]byte{72,84,84,80,47,49,46,49,32,50,48,48,32,79,75,13,10,84,114,97,110,115,102,101,114,45,69,110,99,111,100,105,110,103

go - 压缩存储在 big.Int 中的余额的最佳方法是什么?

我需要将以太坊(加密货币)余额导出到Postgres,但我需要将它们压缩成一个blob,因为它们太多了,我必须为每个block存储状态。余额存储在big.Int中,但大多数帐户的余额为0(或非常接近于0),所以我想到了这种压缩算法:Format(singlerecord):8bits:thelengthofthebitstringfollowingbits:theactualbig.IntconvertedintobitswithInt.Bits()function余额以1/10^18的精度存储,因此1个以太币存储为1位和18个零。我的算法是最好的压缩方法吗?或者有更好的主意吗?例如,

go - 高效地将压缩值写入流

目前,我正在尝试从现有的C代码中翻译一些压缩算法。编码和解码对我来说并不难。它更多地是关于流(无论是文件还是套接字)的序列化。输入为12位,压缩输出为7位。但是向流中写入内容总是需要写入整个8位。因此,由于每个值总是剩余1位,这是否意味着我必须缓冲7个字节才能写入8个值?这将给出以下字节(所有1都属于第一个值,所有2都属于第二个值,等等)11111112222222333333344444445555555666666677777778888888真正的编解码器或使用的语言都不重要(实际上:编解码器是G.711,语言是Golang)。所以也许go-标签不合适。有什么线索吗?

swift - Swift 和 Go 之间的 Zlib 压缩

我的Swift应用程序与用Go编写的服务器通信。我希望使用Zlib压缩传输的数据,但压缩结果似乎与Swift和Go不同。这是Go版本:sourceString:="A-t-ellebesoind'autrespreuves?Acceptez-lapourleplaisir.J'aitantfaitquedelacueillir,Etc'estpresqueunefleur-des-veuves."//Compressionvarbbytes.Bufferwriter:=zlib.NewWriter(&b)writer.Write([]byte(sourceString))writer.

zlib压缩数据时的内存分配?

开始:假设有10个并行运行的线程来压缩100MB的数据。对于要压缩100MB数据的每个线程。我正在使用zlib压缩来压缩数据。假设一个进程花费了将近2秒的时间来压缩100MB的数据。那么,如果所有线程并行运行以压缩数据,会发生什么情况。而且我还需要澄清每个线程的内存分配。案例1:有1GBRAM内存,现在10个线程并行运行开始压缩意味着,是否会占用所有RAM内存进行压缩?10Threads*100MB=1000(Approx) 最佳答案 zlib本身需要相对少量的内存,每个线程最多256kb。如果您将输入和输出保存在内存中,这将由您用

Go - 如何组合多个字符串输出唯一的 'Compressed' 字符串?

在Go中,我尝试将IP地址与用户名混合以输出某种压缩的唯一字符串。例如:"MyUsername"+"192.354.32.245"="JDU7DNd" 最佳答案 AUUID可以为每个用户生成一个随机的128位值。但是,对于静态输出,我编写了一个函数,该函数将对多个字符串进行散列和求和,从而输出一个唯一值。funcCombine(string...string)uint32{h:=fnv.New32a()for_,a:=rangestring{h.Write([]byte(a))}returnh.Sum32()}https://pla

C# - XML - 压缩

我遇到这样一种情况,我正在生成要提交给网络服务的XML文件,有时由于数据量超过30mb或50mb。我需要使用c#、.netframework4.0来压缩文件,而不是拥有大部分数据的节点之一。我不知道我将如何去做。如果有人可以的话,有没有可能请给我一个如何完成此操作的示例。xml文件是这样的2.0CHAR-CLMaaaaaaMD5principala3MweCsv60kkAgzEpXeCqQ==Someone@somewhere.com1953Myproduct2.02013-08-13zZrxvJ7JmMNaOyrMs9ZOaRuihkg=IndividualBM0123412345G

php - 如何用php压缩站点地图

我有下面的代码,它工作正常header("content-type:text/xml");$xml='';$xml.='';$xml.=''.SiteRoot.'daily1.0';$xml.=''.SiteRoot.'/directorydaily0.9';$Query=mysql_query("SELECTlinkFROM`om`ORDERBY`link`");while($row=mysql_fetch_array($Query)){$xml.='';$xml.=''.GenerateLink('link',$row['link']).'';$xml.='weekly';$xml

c# - 处理大量整数的最佳方法

我有一个包含大约10-100k个整数的数组,需要存储(尽可能压缩),并以最快的方式检索回完整的数组。用像c#这样的语言处理这类事情的最佳方法是什么。 最佳答案 这取决于您所说的“尽可能压缩”是什么意思。您可以使用BinaryWriter将整数写入流,或使用BitConverter.GetBytes将每个int作为四个字节复制到一个大数组中。两者都将在没有任何额外元数据的情况下存储每个int。如果您希望它比这更压缩,BinaryWriter有一个Write7BitEncodedInt方法,可以用更少的字节写入具有小值的整数。一旦将数据

c# - 压缩 XML 指标。

我有一个客户端服务器应用程序,它通过TCP/IP从客户端向服务器发送XML,然后向其他客户端广播。我如何知道通过压缩XML而不是通过常规流发送可以保证性能改进的XML的最小大小。关于这个或例子有什么好的指标吗? 最佳答案 Xml通常压缩得很好,因为它往往有很多重复。另一种选择是转换为二进制格式;BinaryFormatter或NetDataContractSerializer是简单的选项,但众所周知,与xml相比,两者都不兼容(例如与java)。另一种选择是可移植的二进制格式,例如谷歌的“ProtocolBuffer”。我维护一个名