The file contents is undefined in the DFU spec.
There could hypothetically be a bootloader on some target, which requires data to be in hex format. Therefore dfu-util cannot make any assumptions on the contents/formatting of the data.
If at all, the target device would need to have such checks and reject it.