What is the difference between Unicode.Encoding and .Codec?

Is the latter (which is a refinement of the former) meant for encodings that cover all code points, while the former can be used for subsets? I wondered this after I realized that the ASCII type is only Encoding while the UTF-8, -16, and -32 types are Codec.