我们可以将任何数字文件转换为二进制文件。
我有一个1MB的文本文件,
我想将其转换为二进制字符串,并以二进制数字形式查看输出,反之亦然,
换句话说,如果我有二进制数,我想将其转换为文本文件。
我如何在Python中做到这一点?有没有标准的方法可以做到这一点?
请参阅https://docs.python.org/3/library/codecs.html#standard-encodings以获取标准字符串编码的列表,因为转换取决于编码。
这些功能将有助于在字节/整数和字符串之间进行转换,默认为UTF-8。
提供的示例在UTF-8中使用韩文字符“한”。
def bytes_to_string(byte_or_int_value, encoding='utf-8') -> str:
if isinstance(byte_or_int_value, bytes):
return byte_or_int_value.decode(encoding)
if isinstance(byte_or_int_value, int):
return chr(byte_or_int_value).encode(encoding).decode(encoding)
else:
raise ValueError('Error: Input must be a bytes or int type')
def string_to_bytes(string_value, encoding='utf-8') -> bytes:
if isinstance(string_value, str):
return bytes(string_value.encode(encoding))
else:
raise ValueError('Error: Input must be a string type')
int_value = 54620
bytes_value = b'\xED\x95\x9C'
string_value = '한'
assert bytes_to_string(int_value) == string_value
assert bytes_to_string(bytes_value) == string_value
assert string_to_bytes(string_value) == bytes_value