python把只包含0和1的字符串写入.bin文件,不使用encode(),decode(),byte(),bytearray(),不使用struct等外包函数
时间: 2023-11-13 11:03:55 浏览: 46
您可以使用 Python 内置的位运算进行操作,将字符串中的 0、1 各自转换为整数 0、1,并将其存储到二进制文件中。以下是一个示例代码:
```
s = '011011000110111101101110'
with open('test.bin', 'wb') as f:
for i in range(len(s) // 8):
b = int(s[i*8:(i+1)*8], 2)
f.write(bytes([b]))
```
这段代码将给定的字符串 `s` 每 8 个字符一组,将其转换为一个整数 `b`,然后将 `b` 转换为一个字节对象,并写入到二进制文件中。通过这种方式,您可以将只包含 0 和 1 的字符串写入二进制文件,而不需要使用任何外部函数。
相关问题
python把只包含0和1的字符串写入.bin文件,不使用encode(),decode(),byte(),bytearray()
可以使用 Python 的 struct 模块将 0 和 1 的字符串按照二进制格式写入二进制文件。具体操作如下:
```python
import struct
# 0 和 1 的字符串
bits = "0101010101010101"
# 打开二进制文件,并将字符串写入
with open("file.bin", "wb") as f:
# 将字符串转换为 bytes 类型
b = bytes(int(bits[i:i+8], 2) for i in range(0, len(bits), 8))
# 使用 struct 模块将 bytes 类型按二进制格式写入文件
f.write(struct.pack("B" * len(b), *b))
```
这段代码将 8 个二进制数字组成的字符串转换为 bytes 类型,并按二进制格式逐个写入二进制文件中。注意,使用这种方式写入的二进制文件,只能通过二进制方式读取。
Python 代码将我爱你转换为2byte 的unicode二进制并转存为1.bin文件
以下是Python代码实现:
```python
text = "我爱你"
unicode_str = text.encode('unicode_escape').decode().replace("\\", "")
bytes_str = bytes.fromhex(unicode_str)
with open("1.bin", "wb") as f:
f.write(bytes_str)
```
解释:
1. 首先将文本字符串转换为unicode二进制表示,使用 `encode('unicode_escape')` 方法。
2. 将转换后的字符串去掉反斜杠,使用 `replace("\\", "")` 方法。
3. 将转换后的字符串转换为bytes类型,使用 `bytes.fromhex()` 方法。
4. 将bytes类型写入到指定的文件中,使用 `open()` 函数和 `write()` 方法。
最终,你可以在同级目录下找到名为 `1.bin` 的文件,其中存储了 `我爱你` 的unicode二进制表示。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)