在Python中输入二进制数据主要有以下三种方式,涵盖字符转二进制、二进制文件读写及位运算操作:
一、字符转二进制
整数转二进制
使用`bin()`函数将整数转换为二进制字符串,结果以`0b`开头。例如:
```python
number = 10
binary_representation = bin(number)
print(binary_representation) 输出: 0b1010
```
字符转二进制
通过`ord()`获取字符的ASCII码,再转换为二进制。例如:
```python
char = 'A'
binary_A = bin(ord(char))
print(binary_A) 输出: 0b1000001
```
二、二进制文件读写
写入二进制文件
使用`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!'
```
三、位运算操作
位操作符
支持`&`(按位与)、`|`(按位或)、`^`(按位异或)、`~`(按位取反)、`>>`(右移)等操作。例如:
```python
num = 5 二进制: 101
shifted = num >> 1 右移一位后: 10 (二进制: 10)
print(bin(shifted)) 输出: 0b10
```
四、打包与解包二进制数据
使用`struct`模块将数据打包为二进制序列,或从二进制序列解包。例如:
```python
import struct
打包数据
packed = struct.pack('i f s', 123, 45.6, b'hello')
print(packed) 输出: b'x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x0