This method returns a list of supported encodings, uniquely distinguished by code page. However, some of the encodings are duplicates. For example, encodings 20932 and 51932 are identical, both associated with the name "euc-jp". If your application requests this name, .NET Framework returns encoding 51932. If the application removes one of these encodings from the lists that it makes, it should remove 20932.
Encodings 50220 and 50222 are both associated with the name "iso-2022-jp", but they are not completely identical. Encoding 50220 converts half-width katakana to full width, while encoding 50222 uses a shift-in/shift-out sequence to encode half-width katakana. The display name for encoding 50222 is "Japanese (JIS-Allow 1 byte Kana - SO/SI)" to distinguish it from 50220 with the display name "Japanese (JIS)".
If your application requests the encoding name "iso-2022-jp", .NET Framework returns encoding 50220. The encoding that your application prefers, however, depends on the preferred treatment of the half-width katakana.
To get a specific encoding, your application should use the GetEncoding method.
GetEncodings is sometimes used to present the user with a list of encodings with the Save as function. Consider having your application use UTF-8 or Unicode (UTF-16) as the default. Most of the other encodings are either incomplete and translate many characters to "?", or have subtly different behavior on different platforms. Non-Unicode encodings are often ambiguous and applications end up guessing for an appropriate encoding and presenting correction dropdown menus for the user to use in fixing the text language or encoding.