2010-11-23 35 views
38

Cuando creo un cliente Web para consumir algunos xml REST, que puede especificar la codificación Unicode de 2 maneras:WebClient Unicode - ¿Qué UTF8?

WebClient wc = new WebClient(); 
wc.Encoding = Encoding.UTF8; 
wc.Encoding = UTF8Encoding.UTF8; 

Qué es lo correcto/mejor?

+0

+1 nunca pensé en eso. – SLaks

Respuesta

44

Son idénticos.

UTF8Encoding hereda Encoding.
Por lo tanto, puede acceder a todos los miembros estáticos declarados por Encoding a través del calificador UTF8Encoding.

De hecho, incluso puede escribir ASCIIEncoding.UTF8, y seguirá funcionando.

Se compilará en IL idénticos, incluso en modo de depuración.


yo recomendaría usar Encoding.UTF8, ya que muestra lo que está pasando con mayor claridad.

+6

Mi regla general es acceder siempre a un miembro estático del tipo en el que fue declarado, y ninguno de sus heredadores. En este caso, Codificación. – vcsjones

+0

@vcsjones: Sí. Eso es más o menos lo que quise decir al final. – SLaks