If a program prints out null bytes and those null bytes are not part of the specification, does this disqualify the program although these bytes are unreadable?
When a challenge states to output a specific sequence of bytes (such as
Hello, World!), outputting anything else than that exact sequence of bytes is failing to meet the challenge specification. If you can encode the required output in a (pre-existing) encoding such that it matches the output of the submission (comparing raw bytes), it's valid.