При написании простого скрипта на Python я обнаружил странную проблему: два файла с разным содержимым имеют одинаковый размер.
Итак, у меня два одинаковых списка двоичных данных, один в строке, один вint:
char_list = '10101010'
int_list = [1, 0, 1, 0, 1, 0, 1, 0]
Затем я преобразую списки в bytearray:
bytes_from_chars = bytearray(char_list, "ascii")
bytes_from_ints = bytearray(int_list)
Распечатав это, дайте мне такой результат:
bytearray(b'10101010')
bytearray(b'\x01\x00\x01\x00\x01\x00\x01\x00')
но этоок.
Запись этих данных на диск:
with open("from_chars.hex", "wb") as f:
f.write(bytes_from_chars)
with open("from_ints.hex", "wb") as f:
f.write(bytes_from_ints)
И размер файлов такой же , но файлы содержат разные данные!
ls -l:
hexdump файлов:
И мойВопрос в том, почему размер файла равен?Как и сейчас, для записи значения 0 или 1 нам нужен 1 бит, а для записи шестнадцатеричного значения 30 или 31 нам нужно 5 бит (1 1110 и 1 1111)