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

python二进制数据

发布时间: 2023-01-01 09:43:20

⑴ 在python中如何从二进制文件中读取信息

你是指读入二进制文件吧?x0dx0a可以使用numpy.fromfile(),也可以使用open(filename, 'rb'),其中的'b'就是二进制的意思,然后使用文件类型的read方法,读取一些字节,再用struct.unpack()方法来解析二进制。x0dx0a第一种方法是一次性读入文件(或文件的前多少个连续字节)到一个数组中,因此,灵活性差。x0dx0a第二种方法灵活性很高,可以读取任意位置(使用文件的seek()方法跳跃位置)的二进制数据,再使用struct.unpack()方法来进行各种二进制解析。x0dx0ax0dx0a提示:二进制文件是不保留存储方式的数据格式,因此,读二进制文件时应该知道二进制文件的存储格式。

⑵ 求助:python如何按位解析二进制数据

可以的,二进制是计算机内的表示方法,处理二进制数据是最基本的能力。

如果是二进制字符串转十进制:

>>>x='10101010'
>>>int(x,2)
170

如果是从文件或网络中获取的数据,要知道某一位是0还是1的话,获取的数据可以按字符读取,由于一个字符由8位二进制表示,分别读取1到8位的二进制值就可以了:

>>>get_char_bit=lambdachar,n:(char>>(8-n))&1#从高到低分别为第1~8位
>>>data=b'ab'#在python3中字符串默认是unicode,所以加上b前缀兼容
>>>#在python3中按字符读取byte字符串是数字,而python2读出来的却是字符,但bytearray是一致的都是数字
>>>data=bytearray(data)
>>>result=[]
>>>forcharindata:
foriinrange(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]

还有一种比较简单的方法是使用内置的bin函数

>>>data=bytearray(b'ab')
>>>result=[]
>>>forcharindata:
result.extend(bin(char)[2:].rjust(8,'0'))

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

⑶ python中二进制数10101转为十进制数的表达式是什么

在Python中,可以使用int()函数将二进制数10101转换为十进制数。int()函数的第一个参数为要转换的数,第二个参数为进制。例如,要将二进制数10101转换为十进制数,可以使用以下表达式:
int('10101', 2)

该表达式会将二进制数10101转换为十进制数21。

⑷ python读取二进制并转为其他类型数据

file = open("test.spc", 'rb')

content = file.read()

unpack('H', binary_string) # unsigned short
unpack('d', binary_string) # double
unpack('Q', binary_string) # unsigned long long
unpack('l', binary_string) # long

pack('H',1) # unsigned short
pack('d', 5.23) # double
pack('Q', 11111111) # unsigned long long
pack('l', 1111) # long</pre>

详见官方文档: struct官方文档

⑸ python3字符串与二进制互相转换

python中,没有" 0-1 "形式的二进制类型,但我们依然可以存储二进制类型的数据。

利用字符串(string)类型,可以存储二进制数据。即:将二进制数据以字符串的形式存储。

下面分享一种字符串和二进制串互相转换的具体实现方法。

运行结果:

【END】

最后给大家推荐一个好东西:

每个python程序员想必都会很喜欢的东西,点击去看

喜欢吗?喜欢就点个赞吧~

⑹ python二进制最左边是0

这是因为早期只使用了127个字符,而7位就完全能够表示,所以最高位是0。
二进制,发现者莱布尼茨,是在数学和数字电路中以2为基数的记数系统,是以2为基数代表系统的二进位制。
这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示。数字电子电路中,逻辑门的实现直接应用了二进制,现代的计算机和依赖计算机的设备里都使用二进制。

⑺ python 怎么处理二进制文件

处理二进制数据离不开python的struct模块,struct理解上你可以把它理解为c语言的结构体,使用该模块的pack和unpack方法,可以很容易的把二进制数据转换为常用的类型数据,如整型、字符型等
结构体如下:
struct Header

{

unsigned short id;

char[4] tag;

unsigned int version;

unsigned int count;

}

⑻ Python读取二进制文件

实际项目中经常遇到读取二进制问题,Python下读取二进制文件一般用Python的文件打开读写相关函数和struct.

1。获取文件名filename,可用对话框,也可以直接手写

2。打开文件,这里中是打开,像看书一样,只是打开书,还没有看里面的内容,可以看,也可以不看

binFile=open(filename,'rb')

3。那就看看吧,binFile现在就是书的名字了。这里我们读入4个字,如果read()将读入整个文件

context=binFile.read(4)

4。读入之后问题来了,context包含四个字(4Bytes),但这四个字是加密的(二进制)。这时要找翻译struct.unpack

realContext=struct.unpack(format,context)

5。format的就是加密规则了,由1,2,4,8个字节组成其他类型,或者其他类型的数组。

a,b,c,d=struct.unpack('4c',context)

读入四个字符

对应格式参考 www.jianshu.com/p/5a985f29fa81

6。打开文件后用完一定要关闭,和看书一个样,看完后要合上,不合上后果自己去想

binFile.close()

7。查找内容,文件内容可以一个一个字的按顺序读出,但如果已经知道内容在什么位置,可以用查找方式读出。

binFile.seek(100)

context=binFile.read(4)

读出100位置后面的4个字,(101,102,103,104)

8。Python还提供也一些高级读写功能,如整行读取等

热点内容
中国电信加密通信业务 发布:2025-07-03 03:06:00 浏览:520
脚本家的台词 发布:2025-07-03 03:05:50 浏览:708
arcgisforpython 发布:2025-07-03 03:05:46 浏览:898
期计算法 发布:2025-07-03 02:56:53 浏览:404
不同域访问 发布:2025-07-03 02:49:05 浏览:818
多槽编程 发布:2025-07-03 02:47:42 浏览:919
sql2008错误233 发布:2025-07-03 02:28:52 浏览:168
创建数据库语句mysql 发布:2025-07-03 02:14:34 浏览:146
python量化投资 发布:2025-07-03 02:05:11 浏览:804
proxy代理服务器地址 发布:2025-07-03 01:56:52 浏览:910