Разница между ASCIIEncoding и Encoding

#c# #.net #encoding #asciiencoding

#c# #.net #кодирование #asciiencoding

Вопрос:

Я понимаю, что кодирование может использоваться для инициализации объекта для выполнения любого типа кодировки, ASCII, Unicode, UTF-8 и т.д. Мне кажется, что всего этого достаточно для выполнения любого вида кодирования, тогда зачем нужно ASCIIEncoding?

Ответ №1:

Encoding Класс, в дополнение к тому, что он является базовым классом всех кодировщиков, предоставляет средства доступа к статическим свойствам для именованных подклассов.

Encoding.ASCII возвращает экземпляр, ASCIIEncoding который, в свою очередь, создает подклассы Encoding и передает кодовую страницу 0x4e9f (US-ASCII) базовому конструктору.

Комментарии:

1. @Gunner — Да, я бы придерживался access Encoding.ASCII или чего-то еще, поскольку у него также есть преимущество в том, что он является экземпляром singleton (все они потокобезопасны)