Нужно в бинарный файл записать кусок размером в 512 байт, в начале идёт число, а за ним строка. Это должно быть записано в big-endian и каждый символ строки должен представляться двумя байтами. Примерно так:
00 29 00 5C 00 4D 00 75 00 73 00 69 00 63 00 5C .).\.M.u.s.i.c.\
Пробую это проделать через struct:
struct.pack('>h510s', number, string)
С использованием string.encode('hex') или binascii.hexlify(string) я получаю
\x00\x295c4d757369635c\x00\x00\x00\x00\x00
В общем, необходимо получить:
\x00\x29\x00\x5c\x00\x4d\x00\x75\x00\x73\x00\x69\x00\x63\x00\x5c\x00\x00\x00\x00\x00