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; i klasa pomocnika, która manipuluje obiektami i formatuje String je bez tworzenia wystąpień pośrednich .String

Klasy

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 .NET Framework klasycznych.

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. Rezerwa zgłasza wyjątek zamiast dekodowania sekwencji bajtów wejściowych. Klasa ta nie może być dziedziczona.

DecoderExceptionFallbackBuffer

Zgłasza, DecoderFallbackException gdy zakodowana sekwencja bajtów wejściowych nie może zostać przekonwertowana 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 zwracanie alternatywnego ciągu do dekodera, gdy nie może dekodować sekwencji bajtów wejściowych.

DecoderFallbackException

Wyjątek zgłaszany, gdy operacja rezerwowania 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 ciąg wyjściowy zastępczy, który jest emitowany, gdy nie można dekodować 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 rezerwą dla znaku wejściowego, którego nie można przekonwertować na sekwencję bajtów wyjściowych. Rezerwowy zwraca 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 rezerwą dla znaku wejściowego, 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 zwracanie alternatywnego ciągu do kodera, gdy nie może kodować znaku wejściowego.

EncoderFallbackException

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

EncoderReplacementFallback

Zapewnia mechanizm obsługi błędów nazywany rezerwą dla znaku wejściowego, którego nie można przekonwertować na sekwencję bajtów wyjściowych. Rezerwowy używa ciągu zastępczego określonego przez użytkownika 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 oryginalny znak wejściowy nie może być zakodowany. Klasa ta nie może być dziedziczona.

Encoding

Reprezentuje kodowanie znaków.

EncodingExtensions

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

EncodingInfo

Zawiera podstawowe informacje o kodowaniu.

EncodingProvider

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

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

Rune

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

SpanLineEnumerator

Wylicza wiersze obiektu ReadOnlySpan<T>.

SpanRuneEnumerator

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

StringBuilder.AppendInterpolatedStringHandler

Udostępnia procedurę obsługi używaną 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.

StringRuneEnumerator

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

Wyliczenia

NormalizationForm

Definiuje typ normalizacji do wykonania.

Uwagi

Klasy kodowania są przeznaczone przede wszystkim do konwersji między różnymi kodowaniami lub stronami kodu i kodowaniem Unicode. Encoding.Unicode Kodowanie UTF-16 jest używane wewnętrznie przez platformę .NET, a Encoding.UTF8 kodowanie 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 programu umożliwiają wybranie strategii rezerwowej, która określa sposób kodowania znaków w sekwencji bajtów lub bajtów, których nie można dekodować do znaków. Możesz wybrać jedną z następujących opcji:

  • Powrót wyjątku. 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 przy użyciu EncoderExceptionFallback klas i DecoderExceptionFallback . Jeśli interesuje Cię integralność strumienia danych, zalecane jest zgłaszanie wyjątku.

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

  • Najlepsze dopasowanie rezerwowe. Ta opcja mapuje znak w jednym kodowaniu na znak w innym kodowaniu. Najlepsze dopasowanie rezerwowe jest często nie zalecane, ponieważ może spowodować utratę danych i zamieszanie i jest wolniejsze niż proste "?" zamiany znaków. Jednak w przypadku stron kodu ANSI zachowanie najlepiej dopasowane jest domyślnie.

Klasa została zaprojektowana StringBuilder pod kątem 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.Textprogramu , zobacz How to use character encoding classes in .NET (Jak używać klas kodowania znaków na platformie .NET ).