帮我写一个二进制和base64互相转的脚本
时间: 2023-06-26 21:06:19 浏览: 93
好,下面给出Python3的代码实现:
```python
import base64
def binary_to_base64(binary_str):
binary_data = bytes.fromhex(binary_str)
base64_data = base64.b64encode(binary_data)
return base64_data.decode('utf-8')
def base64_to_binary(base64_str):
base64_data = base64_str.encode('utf-8')
binary_data = base64.b64decode(base64_data)
binary_str = ''.join(format(x, '08b') for x in binary_data)
return binary_str
# 示例
binary_str = '011000010110001001100011'
base64_str = binary_to_base64(binary_str)
print(base64_str) # 输出 'YmM='
binary_str_2 = base64_to_binary(base64_str)
print(binary_str_2) # 输出 '011000010110001001100011'
```
其中,`binary_to_base64`函数将二进制字符串转换为base64编码的字符串,`base64_to_binary`函数将base64编码的字符串转换为二进制字符串。
需要注意的是,`binary_to_base64`函数中,首先将二进制字符串转换为bytes类型的二进制数据,然后使用`base64.b64encode()`函数进行base64编码。在`base64_to_binary`函数中,首先将base64字符串转换为bytes类型的数据,然后使用`base64.b64decode()`函数进行base64解码。最后,将解码后的二进制数据转换为二进制字符串返回。
阅读全文