当前位置:首页 » 编程语言 » python处理二进制

python处理二进制

发布时间: 2023-11-06 10:49:47

① 如何用python把二进制数转换为十进制数

length = input("请输入这个二进制数有几位数:")

numbers = []

for i in range(eval(length)):

numbers.append(input("请输入数字:")) #这里有缩进

print(eval("0b"+"".join(numbers)))


然后再改一下缩进应该就行了

② 如何用Python将十进制数字转为二进制,以及将二进制转为十六进制

1、将十进制转换成二进制,利用bin()方法。

③ python怎么处理二进制流

可以的,二进制是计算机内的表示方法,处理二进制数据是最基本的能力。
如果是二进制字符串转十进制:
>>> x = '10101010'
>>> int(x, 2)
170

如果是从文件或网络中获取的数据,要知道某一位是0还是1的话,获取的数据可以按字符读取,由于一个字符由8位二进制表示,分别读取1到8位的二进制值就可以了:
>>> get_char_bit = lambda char, n: (char >> (8-n)) & 1 # 从高到低分别为第1~8位
>>> data = b'ab' # 在python3中字符串默认是unicode,所以加上b前缀兼容
>>> # 在python3中按字符读取byte字符串是数字,而python2读出来的却是字符,但bytearray是一致的都是数字
>>> data = bytearray(data)
>>> result = []
>>> for char in data:
for i in range(1, 9):
result.append(get_char_bit(char, i))

>>> result
[0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0]

④ Python中的文件读写-理论知识

Python处理两种不同类型的文件:二进制文件和文本文件。了解两者之间的差异很重要,因为它们的处理方式不同。

二进制文件

在正常计算机使用期间使用的大多数文件实际上是二进制文件,而不是文本。比如:Microsoft Word .doc文件实际上是一个二进制文件,即使它只有文本。

二进制文件的其他示例包括:

图像文件,包括.jpg,.png,.bmp,.gif,等。

数据库文件包括.mdb,.frm和.sqlite

文件,包括.doc,.xls,.pdf或者其他文件。

那是因为这些文件都有特殊处理的要求,需要特定类型的软件来打开它。例如,您需要Excel来打开.xls文件,并使用数据库程序来打开.sqlite文件。

文本文件

一方面,没有特定的编码,可以通过没有任何特殊处理的标准文本编辑器打开。但是,每个文本文件都必须遵守一组规则:

文本文件必须是可读的。他们可以(并且经常会)包含许多特殊编码,尤其是在HTML或其他标记语言中,但您仍然可以说出它的含义

文本文件中的数据按行组织。在大多数情况下,每一行都是一个独特的元素,无论是指令行还是命令。

此外,文本文件在每行的末尾都有一个看不见的字符,这使文本编辑器知道应该有一个新行。通过编程与这些文件交互时,您可以利用该字符。在Python中,它用“ n” 表示。

在哪里可以找到Python的文件I / O工具

在Python中工作时,您不必担心导入任何特定的外部库来处理文件。Python附带有“文件库”,文件I / O工具和实用程序是核心语言的内置部分。

但是在其他语言(如C ++)中,要处理文件,您必须通过包含正确的头文件来启用文件I / O工具#include <fstream>。如果您使用java编写代码,则需要使用该import java.io.*语句。

使用Python,就没有必要这样做,这是因为Python有一组内置函数,可以处理读取和写入文件所需的所有内容。

⑤ python读取C#写的二进制文件,byte类型unpack

        近期有一部分早期记录数据,C#写的二进制数据,在读取的过程中,short和unshort类型还是比较好转换的,但是碰到byte类型,对照struct的说明是x,设置读取格式时,这部分会空出来,读不出来。查看说明C#的byte类型在python是no value,用x读不出来。因为大概知道数据是整数类型的,于是用b(与B区别,是否有负值),也是1个字节,和C#中的byte一样长度,可以正确显示出来数据。如果是字符类,可以考虑c,s,p。注意变量所占字节数。(读出来数据最好测试验证一下)。

def readWrite(fname):

    with open(fname,'rb') as f:

        if fname[-3:] == 'RPT' :    #文件格式是RPT格式的二进制文件

            data = f.read()

           #fmt = 'H16x2H4x2H10x5H2h6H'   #数据格式中x会导致数据忽略掉,读不出来

           fmt = 'H16b2H4b2H10b5H2h6H'   #采用b替换后,数据格式显示正常

            data1= struct.unpack(fmt,data)

        elif fname[-3:] == 'DAY':     #文件格式时DAY格式的二进制文件

            data = f.read()

            fmt = '4i'

            data1= struct.unpack(fmt,data)

        else:

            data1 = '不是指定文件或文件错误'

            print('不是指定文件')

    return data1

⑥ python输入一个三位数 输出百位十位个位数字的二进制数

s = 123
for i in list(str(s)):

print(bin(int(i)))

⑦ Python中b101011是合法的二进制数值表示形式

是的,是 Python 中有效的二进制数表示形式。在 Python 中,二进制数使用前缀后跟一系列 and 数字来表示。例如,二进制数可以像在 Python 中一样写。b1010110b011010110b101011

下面是在 Python 中使用前缀定义二进制数的示例:0b

回答不易望请采纳

热点内容
说话加密 发布:2025-01-31 14:02:28 浏览:552
android仓库管理系统 发布:2025-01-31 14:02:27 浏览:700
batsql语句 发布:2025-01-31 14:00:13 浏览:733
沈阳加密狗 发布:2025-01-31 13:54:58 浏览:705
联想服务器怎么装windows7 发布:2025-01-31 13:54:52 浏览:874
java二级考试历年真题 发布:2025-01-31 13:50:31 浏览:171
编程一刻 发布:2025-01-31 13:36:44 浏览:585
编程小草出土 发布:2025-01-31 13:33:27 浏览:579
如何设置服务器屏蔽你的ip 发布:2025-01-31 13:25:58 浏览:243
扣扣的独立密码是什么密码 发布:2025-01-31 13:23:42 浏览:132