Вы имеете в виду браузер или nodejs?
Если это последнее, я бы начал с чтения файла в буфер и затем использовал toString ('hex'), чтобы преобразовать его в шестнадцатеричную строку.
fs.readFileSync(filePath).toString('hex');
пробелов нет, но это не должно быть проблемой, потому что один байт = 2 шестнадцатеричные цифры
Также: для очень длинного текста, пожалуйста, поместите его на pastebin или другой сервис для размещения текста. Читаемость страдает от таких длинных текстов
EDIT:
Вы можете преобразовать строку в буфер в гекс, используя Buffer.from (строка) .toString ('hex')