首页  > 教育解读  > python中如何转换二进制

python中如何转换二进制

2025-05-01 21:52:03
起航
起航已认证

起航为您分享以下优质知识

在Python中,二进制转换可以通过多种方式实现,具体方法如下:

一、整数与二进制转换

内置函数转换

- 十进制转二进制:

使用`bin()`函数,返回带有前缀`0b`的字符串,例如`bin(42)`返回`0b101010``。 - 二进制转十进制:使用`int()`函数,例如`int('101010', 2)`返回`42``。

自定义函数

可以编写函数实现转换,例如:

```python

def decimal_to_binary(num):

return bin(num)[2:]

def binary_to_decimal(binary_str):

return int(binary_str, 2)

```

二、二进制数据操作

二进制字符串处理

- 格式化输出:

使用`format()`方法,例如`"{0:b}".format(42)`返回`101010`(不带前缀)`。 - 位运算:通过`&`、`|`等运算符进行位操作,例如`5 & 3`返回`1`(二进制`011 & 011 = 001`)。

二进制文件读写

- 写入文件:

使用`open()`函数以二进制模式(`'wb'`)写入数据,例如:

```python

with open('test.bin', 'wb') as f:

f.write(b'Hello, binary world!')

```

- 读取文件:以二进制模式(`'rb'`)读取文件内容,例如:

```python

with open('test.bin', 'rb') as f:

data = f.read()

print(data) 输出: b'Hello, binary world!'

```

三、其他数据类型转换

浮点数转二进制

使用`struct`模块,例如:

```python

import struct

num = 3.14

binary_code = struct.pack('!f', num)

print(binary_code) 输出: b'xcdxccx8c@'

```

字符串转二进制

使用`encode()`方法,例如:

```python

text = "Hello, World!"

binary_code = text.encode('utf-8')

print(binary_code) 输出: b'Hello, World!'

```

四、注意事项

前缀处理:

`bin()`函数返回的字符串以`0b`开头,若需去除前缀可使用切片`[2:]`或格式化方法。- 位操作:位运算需注意数据类型转换,例如`5 & 3`需将操作数转换为整数。- 文件操作:读写二进制文件时建议使用`with`语句确保文件正确关闭。

通过以上方法,可以灵活实现整数、文件、浮点数等数据的二进制转换与操作。