The Microsoft.Net v2.0 Encoding.GetEncodings() method returns a complete list of supported encodings, uniquely distinguished by code page. Note that in general I consider the code page number to be a poor way to exchange code page information since its not a standard, however for now it does provide a unique ID for .Net Encodings. By Name there are some duplicates, although they have different DisplayNames.
Encodings 20932 and 51932 both return the Name “euc-jp”, and indeed are identical code pages. If you ask for “euc-jp”, the framework will return 51932, so if you want to remove one, I’d remove 20932 from any list you make.
UPDATE – 11/29/1006 (snow day in Redmond). Actually it was pointed out that 51932 doesn’t work in native windows APIs, so you’d have to pick 20932 for native applications and 51932 for .Net applications (so that it would round trip in .Net).
50220 and 50222 also return “iso-2022-jp” for their Name. If you ask for “iso-2022-jp”, you’ll end up with 50220, so I’d remove 50222 from any list of encodings. Which one you should prefer depends on the preferred treatment of the half width katakana.
Unlike the euc-jp encodings, the 50220 and 50222 encodings are slightly different. When encoding, 50220 will convert half width katakana to full width and 50222 will use a shift-in/shift-out sequence to encode half width katakana. The DisplayName for 50222 is “Japanese (JIS-Allow 1 byte Kana – SO/SI)” to distinguish it from 50222 “Japanese (JIS)” even though they have the same iso-2022-jp Name.