nH = W // 256
nL = W % 256
for n in range(data.shape[1] // 24):
    strip = data[:, n * 24:(n + 1) * 24]
strip = strip.reshape(W, 3, 8)
bytes = (strip * 2 ** np.arange(8)[(np.newaxis), (np.newaxis), :]).sum(axis=2)
byteString = bytes.astype(np.ubyte).tostring()
Выставление счетов инопланетянам через POS-принтер и печать изображений