如何在Python中有效地将二进制文件读取为字符串?

时间:2015-08-27 16:28:13

标签: python optimization file-io character-encoding cat

我正在尝试从文件中读取并通过数据冗余和加密算法传递它,该算法采用字符串。如何在此文件中正确读取字符串。我需要一种映射所有字符位置的编码格式,因为它们是原始二进制字节。到目前为止,我已经尝试了称为'cp866'的编码格式,但每当我使用这种编码格式时,它都会非常缓慢地从文件中读取。

如何像UNIX cat命令或Windows type命令一样将文件作为字符串读取?

这是我的档案

character_encoding = 'cp866'

with open(r'Insert_Your_Large_Binary_File_Here', 
          encoding=character_encoding) as file:
    text = file.read()
    print(text)

如何加速此函数或更好地复制cat和type命令产生的字符串生成?

如何将数据打印到STDOUT?打印是否足够? 从本质上讲,我正在寻找跨平台的Python脚本来复制这些数据。

这是我之前的question

的扩展

非常感谢任何帮助或指向我正确的Python包。

更新:当我没有指定编码时,我收到以下错误: Traceback(最近一次调用最后一次):   文件“filename_redacted”,第13行,in     text = file.read()   在解码中文件“C:\ Python34 \ lib \ encodings \ cp1252.py”,第23行     return codecs.charmap_decode(input,self.errors,decoding_table)[0] UnicodeDecodeError:'charmap'编解码器无法解码位置34的字节0x90:字符映射到

基于此question,看起来我应该使用这种古老的MSDOS编码。真的没有更好的方法吗?

0 个答案:

没有答案