当前位置: 首页 > news >正文

赣州住房建设部网站艾臣网站建设

赣州住房建设部网站,艾臣网站建设,网站建设合同应注意,微商城网站建设怎么样GNU zlib 压缩与解压文件详细介绍 1.概述 zlib 模块为 GNU 项目的 zlib 压缩库中的许多函数提供了一个低级接口 2.使用内存数据压缩与解压 2.1.压缩与解压缩 使用 zlib 的最简单方法是将所有数据保存在内存中进行压缩或解压缩。 import zlib import binasciioriginal_dat…GNU zlib 压缩与解压文件详细介绍 1.概述 zlib 模块为 GNU 项目的 zlib 压缩库中的许多函数提供了一个低级接口 2.使用内存数据压缩与解压 2.1.压缩与解压缩 使用 zlib 的最简单方法是将所有数据保存在内存中进行压缩或解压缩。 import zlib import binasciioriginal_data bThis is the original text. print(Original :, len(original_data), original_data)compressed zlib.compress(original_data) print(Compressed :, len(compressed),binascii.hexlify(compressed))decompressed zlib.decompress(compressed) print(Decompressed :, len(decompressed), decompressed) 运行结果 Original : 26 bThis is the original text. Compressed : 32 b789c0bc9c82c5600a2928c5485fca2ccf4ccbcc41c8592d48a123d007f2f097e Decompressed : 26 bThis is the original text.2.2.压缩级别 zlib 支持几种不同的压缩级别允许在计算时间成本和空间成本之间取得平衡。 默认压缩级别 zlib.Z_DEFAULT_COMPRESSION 对应于性能和压缩结果之间折中的硬编码值这当前对应于级别 6 如该示例所示对于给定输入可以使用多个压缩级别来实现相同的尺寸减小。 import zlibinput_data bSome repeated text.\n * 1024 template {:5} {:5}print(template.format(Level, Size)) print(template.format(-----, ----))for i in range(0, 10):data zlib.compress(input_data, i)print(template.format(i, len(data)))运行结果 python3 zlib_compresslevel.pyLevel Size ----- ----0 204911 1722 1723 1724 985 986 987 988 989 982.3.增量压缩和解压缩 内存的存储是有限的对大文件进行压缩和解压操作时系统需要足够的内存来同时保存驻留在内存中的未压缩和压缩内容这个不太现实。因此我们选择增量压缩使用 Compress 和 Decompress 对象来逐步操作数据这样整个数据集就不必全部纳入内存。 import zlib import binasciicompressor zlib.compressobj(1)with open(lorem.txt, rb) as input:while True:block input.read(64)if not block:breakcompressed compressor.compress(block)if compressed:print(Compressed: {}.format(binascii.hexlify(compressed)))else:print(buffering...)remaining compressor.flush()print(Flushed: {}.format(binascii.hexlify(remaining)))此示例从纯文本文件中读取小块数据并将其传递给 compress()。压缩器维护一个压缩数据的内部缓冲区。由于压缩算法取决于校验和和最小块大小因此压缩器可能无法在每次接收到更多输入时返回数据。如果它没有准备好整个压缩块则返回一个空字节字符串。当所有数据都被输入时flush() 方法强制压缩器关闭最后一个块并返回其余的压缩数据 python3 zlib_incremental.pyCompressed: b7801 buffering... buffering... buffering... buffering... buffering... Flushed: b55904b6ac4400c44f73e451da0f129b20c2110c85e696b8c40dde dd167ce1f7915025a087daa9ef4be8c07e4f21c38962e834b800647435fd3b90 747b2810eb9c4bbcc13ac123bded6e4bef1c91ee40d3c6580e3ff52aad2e8cb2 eb6062dad74a89ca904cbb0f2545e0db4b1f2e01955b8c511cb2ac08967d228a f1447c8ec72e40c4c714116e60cdef171bb6c0feaa255dff1c507c2c4439ec96 05b7e0ba9fc54bae39355cb89fd6ebe5841d673c7b7bc68a46f575a312eebd22 0d4b32441bdc1b36ebf0aedef3d57ea4b26dd986dd39af57dfb05d32279de2.4.校验数据完整性 除了压缩和解压缩功能外zlib 还包括两个用于计算数据校验和的函数adler32() 和 crc32()。校验和都不是加密安全的它们仅用于数据完整性验证。 import zlibdata open(lorem.txt, rb).read()cksum zlib.adler32(data) print(Adler32: {:12d}.format(cksum)) print( : {:12d}.format(zlib.adler32(data, cksum)))cksum zlib.crc32(data) print(CRC-32 : {:12d}.format(cksum)) print( : {:12d}.format(zlib.crc32(data, cksum)))两个函数都使用相同的参数一个包含数据的字节字符串和一个可选值用作校验和的起点。它们返回一个 32 位有符号整数值该值也可以作为新的起始点参数在后续调用时传回以生成 running 校验和。 python3 zlib_checksums.pyAdler32: 3542251998: 669447099 CRC-32 : 3038370516: 2870078631
http://www.dnsts.com.cn/news/44313.html

相关文章:

  • 石家庄网站制作费用好看的网站你明白的
  • 推荐做任务网站怀柔成都网站建设
  • 做网站做什么公司好石家庄网络科技有限公司
  • 高端汽车网站建设石家庄网站建设远策科技
  • dw做网站后台秦皇岛网站制作专家教您简单建站
  • 网站首页菜单栏模块怎么做的wordpress 帝国王
  • 做互联网网站的会抓手机网站跳出率低
  • 私人建设网站网站推广新手入门教程
  • 企业做网站有发展么试析媒体网站品牌建设
  • 怎么样在百度做网站青岛城乡建筑设计院有限公司
  • 可以自己做网站卖东西2021最新引流推广方法
  • 做网站需要域名还需要什么哈尔滨市住房与城乡建设局网站
  • 网站建设 排行找人搭建网站多少钱
  • 公司网站做地图地址哈尔滨门户网站建站
  • 请写出网站建设前期需要做的准备局域网 手机网站建设
  • 怎么查看网站是否做静态化处理境外公司注册
  • 网页设计与网站建设书商贸有限公司经营范围
  • 南通网站制作外包南昌网站建设公司市场
  • 没学过计算机开始学做网站qq邮箱在线登录网页版
  • 百度网站空间html菜鸟工具
  • 肇庆北滘网站设计可以做网站的编程有什么
  • 兰州市网站建设网站被墙了什么意思
  • 网站 php .net手机网站建设机构
  • 企业网站可以免费做吗feed wordpress
  • 佛山网站制作流程wordpress博客空间
  • 网络公司如何建网站化妆品商城网站建设
  • 设计师一般是什么学历邢台seo技术
  • qq临时会话网站c语言软件开发和网站开发区别
  • 网站技术方案说明优是是什么网站
  • 站长平台工具建设网站通过什么赚钱