Вы уверены, что хотите
str = "[80, 75, 3, 4, 10, 0, 0, 0, 0, 0, -74, 121, 57, 64, 0, 0, 0, 0]"
а не
str = [80, 75, 3, 4, 10, 0, 0, 0, 0, 0, -74, 121, 57, 64, 0, 0, 0, 0]
О записи: #write
вызывает #to_s
, которая преобразует массив в его строковое представление, а это не то, что вам нужно. Чтобы контролировать это преобразование, используйте Array#pack
. Попробуйте file.write(str.pack('C*'))
.