没有项目描述
base64io的Python项目详细描述
此项目旨在开发一个类base64io.Base64IO,该类实现 用于Base64编码的流接口。
自2.4版以来,python支持本机base64编码。但是,没有 Base64编码的流接口,社区中没有可用接口。
遗留的base64.encode和base64.decode接口允许您在 两个流,但它假设您有两个完整的流。我们想要一个 应用Base64编码和解码的标准流。
base64io.Base64IO提供带上下文管理器的io
流接口
支持base64对从中读取的数据进行透明编码。你可以用它来转换
大文件不缓存整个上下文在内存中,或转换现有的
溪流。
有关最新的完整文档,请参见Read the Docs。
在GitHub找到我们。
开始
base64io.Base64IO除了标准库之外没有其他依赖项,应该 使用任何大于2.6的python版本。我们在cpython 2.6,2.7,3.3上测试它, 3.4、3.5、3.6和3.7。
安装
$ pip install base64io
使用
base64io.Base64IO包装输入流并透明地编码或解码 写入或读取输入流的数据。
- write()在将数据写入包装流之前对其进行编码
- read()从包装的流中读取数据后对其进行解码
因为base64io.Base64IO流和包装流的位置将 几乎总是不同,base64io.Base64IO不支持:
- seek()
- tell()
另外,base64io.Base64IO不支持:
- fileno()
- truncate()
编码数据
警告
如果您不使用base64io.Base64IO作为上下文管理器,则在向 一个base64io.Base64IO流,您必须在最后一个 写。base64转换在 将其写入包装流之前的内部缓冲区。调用close()刷新 此缓冲区并将填充的结果写入包装流。这个 base64io.Base64IO上下文管理器为您执行此操作。
frombase64ioimportBase64IOwithopen("source_file","rb")assource,open("encoded_file","wb")astarget:withBase64IO(target)asencoded_target:forlineinsource:encoded_target.write(line)
解码数据
注意
当它从包装流中读取数据时,可能会读取多达三个额外字节 从底层流。
frombase64ioimportBase64IOwithopen("encoded_file","rb")asencoded_source,open("target_file","wb")astarget:withBase64IO(encoded_source)assource:forlineinsource:target.write(line)
许可证
此库是根据Apache2.0许可证授权的。