如何获取fi的二进制(1010)

2024-09-27 21:22:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要一个纯二进制文件。我是说纯二进制

1010101010

我试过这个:

with open('img.jpg', 'rb') as file:
    print(file.read())

这将提供以下输出:

d2$I\xa7\xf3\x196\x8d\xc8\x9cmS\xc7Z{L\xd8r\x89\x85\x1f\xf2\xd3\x07\x8fjd\x90\xa6P\x03\xb0\x1e\xb5,n\xb0\xafo~\xf4\x

我不需要这个,因为我正在处理一个二进制文件。相反,我需要

101011110101010110101000000001010101011111010000011010010101

Tags: 文件imgreadaswith二进制openfile
2条回答

所以,事实上是一样的。形式为\xa7的字符被文件读取器理解为10100111。你知道吗

>>> bin(ord('\xa7')) # => 167

如果您想要二进制表示,特别是作为01的表示,您可以使用类似于我上面使用的方法来获得它,但是任何需要二进制的程序都应该使用实际的二进制字符,当通过python在屏幕上打印时,这些字符看起来像\xa7或其他一些东西。你知道吗

with open('img.jpg', 'rb') as file:
    print("".join(bin(b)[2:] for b in file.read()))

我不明白为什么需要这个,因为计算机是在10中工作的,而不是在"1""0"中工作的,通常在向人类表示二进制文件时,您会使用octal或hexidecimal。你知道吗

相关问题 更多 >

    热门问题