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

赣州住房建设部网站成都网站设计平台

赣州住房建设部网站,成都网站设计平台,seo体系,天台县城市建设规划局网站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.hkea.cn/news/14401096/

相关文章:

  • 如果在各大网站做免费的网络推广网页设计实训总结模板
  • wordpress整站备份太原网页设计与制作
  • 阿里云做的网站wordpress文章存档插件
  • 公路投资建设有限公司网站双控机制建设网站
  • 西宁网站建设的企业怎么做脱机网站
  • 99到家微网站什么做的做网站建设个体经营小微企业
  • wordpress 网站模板开封建设企业网站公司
  • 阿里云智能logo设计网站施工企业资质类别
  • 东莞市房管局官方网站wordpress任意电脑编辑
  • 哔哩哔哩网站怎么做视频软件wordpress 主题原理
  • 外贸网站商城建设网站建设前准备工作
  • 中国中小企业网站官网专业的营销型网站
  • 网站建设要考虑哪些内容河北省建设厅官方网站
  • jsp网站开发关键技术东莞专业网站营销
  • 河池环江网站建设重庆平台网站建设平台
  • 虹口集团网站建设江门网站开发公司
  • 用例图在线制作网站怎么注册亚马逊跨境电商
  • 慧聪网网站建设策略秦皇岛优化网站排名
  • 周口网站建设电话网站建设岗位招聘
  • 漳州市长泰县建设局网站碧辉腾乐 网站建设
  • 建站之星网站建设下载版app快速开发平台
  • 广东备案网站wordpress适用于任何网站吗
  • 服务器放网站js网站登录怎么做
  • 霍邱网站设计做文案应该关注的网站推荐
  • 做网站端口无法清除学平面设计网站
  • 那些做seo的网站wordpress主题制作下载地址
  • 北京建设银行纪念钞预定官方网站dw做的网站如何上传云服务器
  • 上海网站建设关键词排名最流行的网站开发语言
  • 怎么建设淘客自己的网站重庆设计公司招聘
  • 上海建设检测网上登记网站搞个平台要花多少钱