
如何将二进制转换为字符串python
用户关注问题
我有一段二进制数据,想在Python中转成普通字符串,应该怎么操作?
用Python的decode方法将二进制转换为字符串
可以通过调用bytes类型的decode方法,将二进制数据按照指定编码解码成字符串。示例代码如下:
binary_data = b'\xe4\xbd\xa0\xe5\xa5\xbd'
string_data = binary_data.decode('utf-8')
print(string_data) # 输出:你好
这里二进制数据用UTF-8编码转成字符串,确保传入的编码格式和二进制数据编码一致。
我在Python中有一个二进制字符串形式的数据,例如‘01001000’,如何把它转成对应的字符?
通过逐个字节转换二进制字符串为字符
这种情况下可以把二进制字符串每八位作为一个字节,然后用int()转换成整数,再用chr()转换成字符。示例如下:
binary_str = '0100100001100101'
chars = [chr(int(binary_str[i:i+8], 2)) for i in range(0, len(binary_str), 8)]
result = ''.join(chars)
print(result) # 输出:He
这样就可以将二进制形式的字符串转成对应字符组成的普通字符串。
Python怎样把一个普通字符串转换成对应的二进制表示?
使用字符串的encode方法获得二进制数据
Python字符串通过encode方法可以转换成二进制数据(bytes),例如:
text = 'Hello'
binary_data = text.encode('utf-8')
print(binary_data) # 输出:b'Hello'
或者将每个字节转换成二进制表示:
binary_str = ' '.join(format(byte, '08b') for byte in binary_data)
print(binary_str) # 输出:01001000 01100101 01101100 01101100 01101111
这可以让你得到字符串对应的二进制码。