将一串带无空格的二进制值数字转换成字符串的脚本
时间: 2023-04-04 20:04:28 浏览: 141
您好,以下是将一串带无空格的二进制值数字转换成字符串的 Python 脚本:
```
binary_str = "0110100001100101011011000110110001101111"
string = ""
for i in range(0, len(binary_str), 8):
byte = binary_str[i:i+8]
decimal = int(byte, 2)
character = chr(decimal)
string += character
print(string)
```
这个脚本将二进制字符串每 8 位一组,转换成对应的十进制数,再将十进制数转换成 ASCII 字符,最终拼接成字符串输出。希望对您有帮助。
相关问题
将一串带有空格的二进制值数字转换成字符串的脚本
您好,以下是将一串带有空格的二进制值数字转换成字符串的脚本:
```python
binary_str = "01100001 01110010 01100101 01101110 00100111 01110100 00100000 01111001 01101111 01110101 00100000 01100111 01101111 01101110 01101110 01100001 00100000 01101100 01101111 01101111 01101011 00100000 01101001 01101110 00100000 01110100 01101111 00100000 01110100 01101000 01100101 00100000 01110011 01101011 01111001"
binary_list = binary_str.split() # 将字符串按空格分割成列表
string = "" # 初始化字符串
for binary in binary_list:
decimal = int(binary, 2) # 将二进制转换成十进制
char = chr(decimal) # 将十进制转换成字符
string += char # 将字符添加到字符串中
print(string) # 输出字符串
```
希望能够帮到您!
实现一个shell脚本,将16进制字符串例如”1 ab cd ef 1f 3a 6c“ 按照空格切分,将切分后16进制数字转成二进制文件
要实现这个需求,你可以编写一个简单的Bash shell脚本来完成任务。首先,我们需要创建一个函数来处理每个十六进制部分,并将其转换为二进制。然后,我们将输入的十六进制字符串按照空格分割,对每个部分分别操作,最后将它们写入二进制文件。以下是一个示例shell脚本:
```bash
#!/bin/bash
# 定义一个函数将十六进制转为二进制
hex_to_bin() {
local hex_string=$1
printf "%b" "$hex_string"
}
# 输入的十六进制字符串
hex_input="1 ab cd ef 1f 3a 6c"
# 按空格分割十六进制字符串
hex_parts=($hex_input)
# 创建一个新的二进制文件
binary_file="output.bin"
touch $binary_file
# 对于每一个十六进制部分
for hex_part in "${hex_parts[@]}"; do
# 转换并追加到二进制文件
echo -n $(hex_to_bin "$hex_part") >> $binary_file
done
echo "转换和写入二进制文件完成,文件位于 $binary_file"
阅读全文