То, что вы называете «информация о кодировке», на самом деле является спецификацией. Я подозреваю, что каждый из этих «символов» кодируется отдельно. Чтобы написать спецификацию вручную, вы должны написать ее как три байта , а не три символа. Я не знаком с классами .NET I / O, но вам должен быть доступен метод, который принимает параметр byte или byte [] и записывает их непосредственно в файл.
Кстати, спецификация UTF-8 не является обязательной; на самом деле, его использование не поощряется консорциумом Unicode. Если у вас нет конкретной причины для его использования, избавьте себя от хлопот и оставьте это без внимания.
РЕДАКТИРОВАТЬ: Я только что вспомнил, что вы также можете написать фактическую спецификацию символ , '\uFEFF'
, и позволить кодировщику обработать это:
context.Response.Write('\uFEFF');