Просто хочу добавить еще немного к решению @chaos
hexdump -ve '1/1 "%.2X "' input | sed 's/.*\(FF D8.*FF D9\).*/\1/' | xxd -r -p > image.jpeg
Я добавил пробел после %.2X
и между FFD8
и FFD9
. Это сделано для того, чтобы избежать совпадения сдвинутого шаблона, такого как:
0f fd 80 ... 0f fd 90
Помещение простого текста в файл не менее (или более )безопасно, чем размещение HTML. Что касается сервера, HTML — это обычный текст :, то, что передается по сети, — это в точности <html>...</html>
биты, записанные в файле.
В вашем сценарии могут быть другие проблемы с безопасностью, но это не одна из них.
Я бы, однако,поощряйте адаптацию конфигурации вашего веб-сервера, чтобы файл обслуживался как text/plain вместо text/html для технической корректности, хотя практические различия довольно минимальны, (браузеры, вероятно, будут отображать его с фиксированной -шириной вместо переменной ).