Я работал над проектом, в котором необходимо запрограммировать двоичный файл определенного вида на чип AT28C256. Специфика не важна за исключением того факта, что размер файла должен быть 32 768 байт (точно).
У меня есть некоторый код "минимальной проблемы":
o = open("images.bin", "wb")
c = 0
for i in range(256):
for j in range(128):
c += 1
o.write(chr(0).encode('utf-8'))
print(c)
Это, чтобы мне, кажется, записать 32 768 байт в файл (разделение на i, j необходимо, потому что мне нужно записать изображение на устройство) как 128 * 256 = 32768. И вывод c равен 32768!
Но создаваемый файл имеет длину 28672 байт! Тот факт, что это 7000 в гексе, не прошел мимо меня, но я не уверен, почему это происходит. Есть идеи?