
许老师为您分享以下优质知识
将文本转换为二进制的方法可分为以下两类: 字符级转换和 文件级转换。
一、字符级转换(单个字符转二进制)
Python实现
- 使用`ord()`函数获取字符的ASCII码,再通过`format()`转换为二进制字符串。例如:
```python
name = "Name"
binary = ' '.join(format(ord(x), 'b') for x in name)
print(binary) 输出: 0100101 0110010 0110111 0110110
```
- 使用`bin()`函数直接转换整数(如字符的ASCII码):
```python
binary_data = bin(ord('A')) 输出: '0b1000001'
```
在线工具
- 通过浏览器访问工具(如“在线文本转二进制工具”),输入文本后自动转换,支持实时查看和复制结果。
二、文件级转换(文本文件转二进制文件)
C语言实现
- 读取文本文件内容,逐字符写入二进制文件:
```c
include
include
int main() {
FILE *infd = fopen("test.txt", "r");
FILE *outfd = fopen("datatemp.txt", "wb+");
char ch;
while ((ch = fgetc(infd)) != EOF) {
if (ch == ' ') continue;
fputc(ch, outfd);
}
fclose(infd);
fclose(outfd);
return 0;
}
```
- 注意:此方法仅转换非空格字符,若需完整转换需调整逻辑。
Python实现
- 使用`struct.pack()`将字符串编码为二进制:
```python
import struct
string_data = 'hello, world!'
binary_data = struct.pack('s', string_data.encode('utf-8'))
with open('binary_file.bin', 'wb') as f:
f.write(binary_data)
```
- 使用`bytearray()`直接操作二进制数据:
```python
text = "example"
binary_array = bytearray(text.encode('utf-8'))
with open('binary_file.bin', 'wb') as f:
f.write(binary_array)
```
总结
字符级转换适用于单个字符或短文本,推荐使用Python内置函数或在线工具。
文件级转换需处理完整文本文件,建议使用C/C++或Python的文件操作函数,注意编码格式(如UTF-8)。