【发布时间】:2022-07-30 20:05:34
【问题描述】:
如何读取文件并将其转换为 RAW 位字符串?例如,我打开一个 512kb 的图像,它逐字节读取文件,并吐出文件的长位字符串?我想对字符串应用一些函数,但我想不出一种方法来一致地解压缩文件。
我想我需要的是逐字节读取文件而不关心原始文件格式的东西......当它逐字节读取时,会创建一个巨大的整数,如文件位字符串。
我使用了 Python 的位生成器和 NumPy,它们似乎运行良好,但该程序在处理实际文件时表现不佳。将文件解压缩为 1 和 0 的最佳方法是什么?
如何读取任何文件并将内容存储为易于阅读的 HEX 文件?或 BIN 文件?以及如何阻止“打开”函数截断前导 0!
啊!
使用 Python 或 GOLANG,如何打开任何文件并创建内容的不间断位字符串,其中 BYTE 读取中的每个前导零都很重要?
【问题讨论】:
-
不清楚你想做什么,但
x = int.from_bytes(file.read(), 'big')肯定会给你一个整数x代表文件的所有字节。然后,您可以随心所欲地使用整数位操作运算符>>, <<, &, |, ^。如果你想要一个实际的str代表你可以调用bin(x)的位。 -
类似的东西...取代码 sn-p: f = open("Pro.mp4", "rb") content = f.read() print(content) f.close( ) 打开文件并读取内容。我如何让 open 函数创建它的整数。只是读取 1 和 0 的转储,并为文件中的所有内容吐出一个大的 HEX 值?理想情况下,无论文件类型如何,open 函数都应该可以工作。
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
-
只需使用正则表达式并执行大块的十六进制转码。 (提示:所有十进制数字只需要在前面加上 %3 。例如,ASCII“7”变为十六进制 x37。当您浏览一个大文件时,循环遍历所有 256 字节可能会更有效(假设内置功能不能满足您的需求) - 十六进制的 16 个字符与二进制有 1:1 的映射关系,所以一旦您有了十六进制转储,转为二进制几乎是微不足道的
标签: numpy biginteger bigint hexdump bitstring