WebClient Unicode - Which UTF8?

Ian Vink picture Ian Vink · Nov 23, 2010 · Viewed 36.9k times · Source

When I create a WebClient to consume some RESTful xml, I can specify the unicode encoding 2 ways:

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

Which is correct/better ?

Answer

SLaks picture SLaks · Nov 23, 2010

They're identical.

UTF8Encoding inherits Encoding.
Therefore, you can access all of the static members declared by Encoding through the UTF8Encoding qualifier.

In fact, you can even write ASCIIEncoding.UTF8, and it will still work.

It will compile to identical IL, even in debug mode.


I would recommend using Encoding.UTF8, as it shows what's going on more clearly.