Estoy escribiendo un texto en un TextWriter
. Quiero que el UTF-16 Byte marca de orden (BOM
) que aparece en la salida:¿Cómo se genera la orden de bytes al escribir en TextWriter?
public void ProcessRequest(HttpContext context)
{
context.Response.ContentEncoding = new UnicodeEncoding(true, true);
WriteStuffToTextWriter(context.Response.Output);
}
Excepto la salida no contiene una marca de orden de bytes:
HTTP/1.1 200 OK
Server: ASP.NET Development Server/10.0.0.0
Date: Thu, 06 Sep 2012 21:09:23 GMT
X-AspNet-Version: 4.0.30319
Content-Disposition: attachment; filename="Transactions_Calendar_20120906.csv"
Cache-Control: private
Content-Type: text/csv; filename="Transactions_Calendar_20120906.csv"; charset=utf-16BE
Content-Length: 95022
Connection: Close
JobName,ShiftName,6////09////2012 12::::00::::00 АΜ,...
¿Cómo le digo a un TextWriter
para escribir el marcador de codificación?
Nota: El 2nd paramter in UnicodeEncoding
:
context.Response.ContentEncoding = new UnicodeEncoding(true, true);
byteOrderMark
Tipo:System.Boolean
cierto para especificar que se proporciona una marca de orden de bytes Unicode; de lo contrario, falso.
¿qué es exactamente 'WriteStuffToTextWriter' es probable que tenga que especificar la codificación de allí en su' StreamWriter' –
¿Qué te hace decir que no contiene una lista de materiales con el código que tienes? –
Estoy con @JonHanna. Además, ¿ha intentado crear una aplicación de consola y escribir las mismas cosas directamente en un archivo y ver cómo se ve? Después de todo, un lof * stuff * ocurre entre su servidor web y su navegador. – aquinas