“提取二进制字符串”这个需求比较宽泛,下面按常见场景给你几种典型做法,你可以对号入座;如果还有更具体的上下文(比如从文件、网络、图片、日志、串口数据里提取),可以再补充。
"abc 10101010 11110000 xyz"
import re
s = "abc 10101010 11110000 xyz"
bins = re.findall(r'[01]+', s)
print(bins)
✅ 输出:
['10101010', '11110000']
hex_str = "1A3F"
bin_str = bin(int(hex_str, 16))[2:].zfill(len(hex_str) * 4)
print(bin_str)
✅ 输出:
0001101000111111
data = b'\x0f\xa1'
bin_str = ''.join(f'{b:08b}' for b in data)
print(bin_str)
✅ 输出:
0000111110100001
with open('test.bin', 'rb') as f:
data = f.read()
bin_str = ''.join(f'{b:08b}' for b in data)
s = "1010101011110000"
chunks = [s[i:i+8] for i in range(0, len(s), 8)]
| 类型 | 示例 |
|---|---|
| 二进制字符串 | "10101010" |
| 二进制数据 | b'\xaa' |
如果你说的“提取”是:
告诉我具体来源 + 语言(Python / C / Java / Go 等),我可以给你更精确的代码。