
从未停步为您分享以下优质知识
Python转换成二进制的方法可分为以下三类,涵盖整数、字符及数据类型转换:
一、整数转二进制
直接将整数转换为二进制字符串,返回值以`0b`开头。例如:
```python
num = 10
binary_str = bin(num) 输出: '0b1010'
```
若需去除前缀,可用切片操作:
```python
binary_str = bin(num)[2:] 输出: '1010'
```
手动算法(位运算)
通过不断取余和整除实现转换,适合理解底层逻辑。例如:
```python
def decimal_to_binary(n):
if n == 0:
return '0'
binary = ''
while n >
0:
binary = str(n % 2) + binary
n //= 2
return binary
print(decimal_to_binary(42)) 输出: '101010'
```
二、字符转二进制
通过ASCII码转换
先使用`ord()`获取字符的ASCII码,再转换为二进制。例如:
```python
char = 'A'
ascii_val = ord(char)
binary_val = bin(ascii_val)[2:] 输出: '1000001'
```
使用 `format()` 函数
通过格式化字符串实现转换,例如:
```python
char = 'A'
binary_val = format(ord(char), '08b') 输出: '00000001'
```
三、数据类型转二进制
使用 `bytes` 函数
将字符串或数字转换为二进制数据。例如:
```python
data = b'hello'
binary_data = bytes(data) 输出: b'hello'
```
使用 `struct` 模块
适用于打包/解包数值类型(如整数、浮点数)。例如:
```python
import struct
data = 42
binary_data = struct.pack('i', data) 输出: b'x01x00x00x00'
```
四、其他进制转换
二进制转十进制:
使用`int()`函数,例如:`int('1010', 2)`。
以上方法可根据需求选择,内置函数适用于快速转换,手动算法和`struct`模块则提供更灵活的控制。