WebClient Unicode - Which UTF8?

2020-06-30 04:05发布

问题:

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 ?

回答1:

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.