2010-11-23 7 views
38

Lorsque je crée un WebClient en consommer xml RESTful, je peux spécifier l'encodage unicode 2 façons:WebClient Unicode - Quel UTF8?

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

Ce qui est correct/mieux?

+0

+1 jamais si de cela. – SLaks

Répondre

44

Ils sont identiques.

UTF8Encoding hérite Encoding.
Par conséquent, vous pouvez accéder à tous les membres statiques déclarés par Encoding via le qualificateur UTF8Encoding.

En fait, vous pouvez même écrire ASCIIEncoding.UTF8, et cela fonctionnera toujours.

Il sera compilé à IL identique, même en mode débogage.


Je recommanderais d'utiliser Encoding.UTF8, car il montre ce qui se passe plus clairement.

+6

Ma règle générale consiste à toujours accéder à un membre statique du type sur lequel il a été déclaré, et non à ses héritiers. Dans ce cas, Encodage. – vcsjones

+0

@vcsjones: Oui. C'est plus ou moins ce que je voulais dire à la fin. – SLaks