Net framework 5, а также среды Visual Studio 2012 и C#



Download 6,27 Mb.
Pdf ko'rish
bet291/658
Sana12.06.2023
Hajmi6,27 Mb.
#950840
1   ...   287   288   289   290   291   292   293   294   ...   658
Bog'liq
CLR via C Programmirovanie na platforme Microsoft NET Framework 4 5 na yazyke C


Глава.14 .Символы,.строки.и.обработка.текста
Чтобы выполнить декодирование порции данных, следует получить ссылку на 
производный от 
Encoding
объект (как описано в предыдущем разделе) и вызвать 
его метод 
GetDecoder
. Этот метод возвращает ссылку на вновь созданный объект 
типа, производного от класса 
System.Text.Decoder
. Класс 
Decoder
, подобно классу 
Encoding
, является абстрактным базовым классом. В документации .NET Framework 
SDK вы не найдете классов, которые представляют собой конкретные реализации 
класса 
Decoder
, хотя FCL определяет группу производных от 
Decoder
классов. 
Все эти классы являются внутренними для FCL, однако метод 
GetDecoder
может 
создать экземпляры этих классов и вернуть их коду вашего приложения.
У всех производных от 
Decoder
классов существует два метода: 
GetChars
и 
GetCharCount
. Естественно, они служат для декодирования массивов байтов 
и работают аналогично рассмотренным ранее методам 
GetChars
и 
GetCharCount
класса 
Encoding
. Когда вы вызываете один из них, он декодирует массив байтов
насколько это возможно. Если в массиве не хватает байтов для формирования 
символа, то оставшиеся байты сохраняются внутри объекта декодирования. При 
следующем вызове одного из этих методов объект декодирования берет оставшиеся 
байты и складывает их с вновь полученным массивом байтов — благодаря этому 
декодирование данных, поступающих порциями, выполняется корректно. Объекты 
Decoder
весьма удобны для чтения байтов из потока.
Тип, производный от 
Encoding
, может служить для кодирования/декодирования 
без отслеживания состояния. Однако тип, производный от 
Decoder
, можно исполь-
зовать только для декодирования. Чтобы выполнить кодирование строки порция-
ми, вместо метода 
GetDecoder
класса 
Encoding
применяется метод 
GetEncoder

Он возвращает вновь созданный объект, производный от абстрактного базового 
класса 
System.Text.Encoder
. И опять, в документации на .NET Framework SDK 
нет описания классов, представляющих собой конкретную реализацию класса 
Encoder
, хотя в FCL определена группа производных от 
Encoder
классов. Подобно 
классам, производным от 
Decoder
, они являются внутренними для FCL, однако 
метод 
GetEncoder
может создавать экземпляры этих классов и возвращать их коду 
приложения.
Все классы, производные от 
Encoder
, имеют два метода: 
GetBytes
и 
GetByteCount

При каждом вызове объект, производный от 
Encoder
, отслеживает оставшуюся 
необработанной информацию, так что данные могут кодироваться по фрагментам.

Download 6,27 Mb.

Do'stlaringiz bilan baham:
1   ...   287   288   289   290   291   292   293   294   ...   658




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish