System.Text Przestrzeń nazw

Zawiera klasy reprezentujące kodowanie znaków ASCII i Unicode; abstrakcyjne klasy bazowe do konwertowania bloków znaków na i z bloków bajtów; oraz klasa pomocnika, która manipuluje obiektami i formatuje String je bez tworzenia wystąpień Stringpośrednich klasy .

Klasy

Nazwa Opis
Ascii

Udostępnia metody pomocnicze do pracy z tekstem zakodowanym w formacie ASCII jako bajty lub znaki.

ASCIIEncoding

Reprezentuje kodowanie znaków ASCII znaków Unicode.

CodePagesEncodingProvider

Zapewnia dostęp do dostawcy kodowania dla stron kodu, które w przeciwnym razie są dostępne tylko w programie .NET Framework dla komputerów stacjonarnych.

CompositeFormat

Reprezentuje przeanalizowany ciąg formatu złożonego.

Decoder

Konwertuje sekwencję zakodowanych bajtów na zestaw znaków.

DecoderExceptionFallback

Zapewnia mechanizm obsługi błędów nazywany rezerwą dla zakodowanej sekwencji bajtów wejściowych, której nie można przekonwertować na znak wejściowy. Rezerwowy zgłasza wyjątek zamiast dekodowania sekwencji bajtów wejściowych. Klasa ta nie może być dziedziczona.

DecoderExceptionFallbackBuffer

Zgłasza, DecoderFallbackException gdy nie można przekonwertować zakodowanej sekwencji bajtów wejściowych na zdekodowany znak wyjściowy. Klasa ta nie może być dziedziczona.

DecoderFallback

Zapewnia mechanizm obsługi błędów nazywany rezerwą dla zakodowanej sekwencji bajtów wejściowych, których nie można przekonwertować na znak wyjściowy.

DecoderFallbackBuffer

Udostępnia bufor, który umożliwia programowi obsługi rezerwowej zwrócenie alternatywnego ciągu do dekodera, gdy nie może dekodować sekwencji bajtów wejściowych.

DecoderFallbackException

Wyjątek zgłaszany, gdy operacja powrotu dekodera kończy się niepowodzeniem. Klasa ta nie może być dziedziczona.

DecoderReplacementFallback

Zapewnia mechanizm obsługi błędów nazywany rezerwą dla zakodowanej sekwencji bajtów wejściowych, których nie można przekonwertować na znak wyjściowy. Rezerwowy emituje ciąg zastępczy określony przez użytkownika zamiast zdekodowanej sekwencji bajtów wejściowych. Klasa ta nie może być dziedziczona.

DecoderReplacementFallbackBuffer

Reprezentuje zastępczy ciąg wyjściowy emitowany, gdy nie można zdekodować oryginalnej sekwencji bajtów wejściowych. Klasa ta nie może być dziedziczona.

Encoder

Konwertuje zestaw znaków na sekwencję bajtów.

EncoderExceptionFallback

Zapewnia mechanizm obsługi błędów nazywany rezerwowym znakiem wejściowym, którego nie można przekonwertować na sekwencję bajtów wyjściowych. Rezerwowy zgłasza wyjątek, jeśli nie można przekonwertować znaku wejściowego na sekwencję bajtów wyjściowych. Klasa ta nie może być dziedziczona.

EncoderExceptionFallbackBuffer

Zgłasza, EncoderFallbackException gdy nie można przekonwertować znaku wejściowego na zakodowaną sekwencję bajtów wyjściowych. Klasa ta nie może być dziedziczona.

EncoderFallback

Zapewnia mechanizm obsługi błędów nazywany rezerwowym znakiem wejściowym, którego nie można przekonwertować na zakodowaną sekwencję bajtów wyjściowych.

EncoderFallbackBuffer

Udostępnia bufor, który umożliwia programowi obsługi rezerwowej zwrócenie alternatywnego ciągu do kodera, gdy nie może zakodować znaku wejściowego.

EncoderFallbackException

Wyjątek zgłaszany w przypadku niepowodzenia operacji powrotu kodera. Klasa ta nie może być dziedziczona.

EncoderReplacementFallback

Zapewnia mechanizm obsługi błędów nazywany rezerwowym znakiem wejściowym, którego nie można przekonwertować na sekwencję bajtów wyjściowych. Rezerwowy używa określonego przez użytkownika ciągu zastępczego zamiast oryginalnego znaku wejściowego. Klasa ta nie może być dziedziczona.

EncoderReplacementFallbackBuffer

Reprezentuje zastępczy ciąg wejściowy, który jest używany, gdy nie można zakodować oryginalnego znaku wejściowego. Klasa ta nie może być dziedziczona.

Encoding

Reprezentuje kodowanie znaków.

EncodingExtensions

Udostępnia metody rozszerzeń dla typów kodowania, takich jak Encoding, Encoderi Decoder.

EncodingInfo

Zawiera podstawowe informacje o kodowaniu.

EncodingProvider

Udostępnia klasę bazową dla dostawcy kodowania, który dostarcza kodowanie, które są niedostępne na określonej platformie.

RedactionStringBuilderExtensions

Metody narzędzi redaction.

StringBuilder

Reprezentuje modyfikowalny ciąg znaków. Klasa ta nie może być dziedziczona.

UnicodeEncoding

Reprezentuje kodowanie UTF-16 znaków Unicode.

UTF32Encoding

Reprezentuje kodowanie UTF-32 znaków Unicode.

UTF7Encoding

Reprezentuje kodowanie UTF-7 znaków Unicode.

UTF8Encoding

Reprezentuje kodowanie UTF-8 znaków Unicode.

Struktury

Nazwa Opis
Rune

Reprezentuje wartość skalarną Unicode ([ U+0000..U+D7FF ], włącznie; lub [ U+E000.). U+10FFFF ], włącznie).

RunePosition

Zawiera klasy reprezentujące kodowanie znaków ASCII i Unicode; abstrakcyjne klasy bazowe do konwertowania bloków znaków na i z bloków bajtów; oraz klasa pomocnika, która manipuluje obiektami i formatuje String je bez tworzenia wystąpień Stringpośrednich klasy .

RunePosition.Utf16Enumerator

Zawiera klasy reprezentujące kodowanie znaków ASCII i Unicode; abstrakcyjne klasy bazowe do konwertowania bloków znaków na i z bloków bajtów; oraz klasa pomocnika, która manipuluje obiektami i formatuje String je bez tworzenia wystąpień Stringpośrednich klasy .

RunePosition.Utf8Enumerator

Zawiera klasy reprezentujące kodowanie znaków ASCII i Unicode; abstrakcyjne klasy bazowe do konwertowania bloków znaków na i z bloków bajtów; oraz klasa pomocnika, która manipuluje obiektami i formatuje String je bez tworzenia wystąpień Stringpośrednich klasy .

SpanLineEnumerator

Wylicza wiersze obiektu ReadOnlySpan<T>.

SpanRuneEnumerator

Udostępnia moduł wyliczający wartości Rune reprezentowane przez zakres zawierający tekst UTF-16.

StringBuilder.AppendInterpolatedStringHandler

Udostępnia program obsługi używany przez kompilator języka do dołączania ciągów interpolowanych do StringBuilder wystąpień.

StringBuilder.ChunkEnumerator

Obsługuje prostą iterację fragmentów StringBuilder wystąpienia.

StringBuilderRuneEnumerator

Zawiera klasy reprezentujące kodowanie znaków ASCII i Unicode; abstrakcyjne klasy bazowe do konwertowania bloków znaków na i z bloków bajtów; oraz klasa pomocnika, która manipuluje obiektami i formatuje String je bez tworzenia wystąpień Stringpośrednich klasy .

StringRuneEnumerator

Udostępnia moduł wyliczający dla Rune wartości reprezentowanych przez ciąg.

Wyliczenia

Nazwa Opis
NormalizationForm

Definiuje typ normalizacji do wykonania.

Uwagi

Klasy kodowania są przeznaczone głównie do konwersji między różnymi kodowaniem lub stronami kodu i kodowaniem Unicode. kodowanie Encoding.Unicode (UTF-16) jest używane wewnętrznie przez .NET, a kodowanie Encoding.UTF8 jest często używane do przechowywania danych znaków w celu zapewnienia przenośności między maszynami i kulturami.

Klasy pochodzące z Encoding umożliwiają wybranie strategii rezerwowej, która określa, w jaki sposób znaki, których nie można zakodować w sekwencji bajtów lub bajtów, których nie można zdekodować do znaków, są obsługiwane. Możesz wybrać jedną z następujących opcji:

  • Rezerwowy wyjątek. Możesz zgłaszać wyjątki dotyczące błędów danych przy użyciu flagi dostępnej throwonerror w niektórych konstruktorach klas lub za pomocą EncoderExceptionFallback klas i DecoderExceptionFallback . Jeśli martwisz się o integralność strumienia danych, zalecane jest zgłaszanie wyjątku.

  • Rezerwowy zamiana. Można użyć EncoderFallback klas i DecoderFallback , aby dyskretnie zmienić znak na "?" lub na znak zastępczy Unicode (U+FFFD).

  • Powrót najlepiej dopasowany. Ta opcja mapuje znak w jednym kodowaniu na znak w innym kodowaniu. Najlepsze dopasowanie rezerwowe jest często niezalecane, ponieważ może spowodować utratę danych i zamieszanie i jest wolniejsze niż proste zamiany znaków "?". Jednak w przypadku stron kodu ANSI najlepszym zachowaniem jest domyślne.

Klasa jest przeznaczona StringBuilder dla operacji, które wykonują obszerne manipulacje na jednym ciągu. String W przeciwieństwie do klasy StringBuilder klasa jest modyfikowalna i zapewnia lepszą wydajność podczas łączenia lub usuwania ciągów.

Aby uzyskać więcej informacji na temat System.Text, zobacz Jak używać klas kodowania znaków w .NET .