7

I understand that Encoding can be used to initialize object to perform any type of Encoding, ASCII, Unicode, UTF-8 etc. It appears to me that all these are sufficient for performing any kind of encoding, then what is the need for ASCIIEncoding?

Shamim Hafiz - MSFT
  • 21,454
  • 43
  • 116
  • 176

1 Answers1

13

The Encoding class, in addition to being the base class of all encoders, provides static property accessors to the named subclasses.

Encoding.ASCII returns an instance of ASCIIEncoding which, in turn, subclasses Encoding and passes the codepage 0x4e9f (US-ASCII) to the base constructor.

Richard Szalay
  • 83,269
  • 19
  • 178
  • 237
  • 1
    @Gunner - Yeah, I'd stick with accessing `Encoding.ASCII` or whatever, as it also has the benefit of being a singleton instance (they are all thread safe) – Richard Szalay Apr 12 '11 at 14:06