System.Text 命名空间

包含表示 ASCII 和 Unicode 字符编码的类;用于字符块和字节块相互转换的抽象基类;以及无需创建 String 的中间实例即可操作 String 对象并设置其格式的帮助程序类。

Ascii

包含表示 ASCII 和 Unicode 字符编码的类;用于字符块和字节块相互转换的抽象基类;以及无需创建 String 的中间实例即可操作 String 对象并设置其格式的帮助程序类。

ASCIIEncoding

表示 Unicode 字符的 ASCII 字符编码。

CodePagesEncodingProvider

为只在桌面 .NET Framework 中可用的代码页提供对编码提供程序的访问权限。

CompositeFormat

表示已分析的复合格式字符串。

Decoder

将已编码字节的序列转换为一组字符。

DecoderExceptionFallback

为不能转换为输入字符的已编码输入字节序列提供失败处理机制(称为“回退”)。 回退引发异常,而不是解码输入字节序列。 此类不能被继承。

DecoderExceptionFallbackBuffer

当编码的输入字节序列无法转换为解码的输出字符时引发 DecoderFallbackException。 此类不能被继承。

DecoderFallback

为不能转换为输出字符的已编码输入字节序列提供称为“回退”的失败处理机制。

DecoderFallbackBuffer

提供一个缓冲区,该缓冲区允许回退处理程序在解码器无法对输入字节序列进行解码时将替换字符串返回到该解码器。

DecoderFallbackException

解码器回退操作失败时引发的异常。 此类不能被继承。

DecoderReplacementFallback

为不能转换为输出字符的已编码输入字节序列提供称为“回退”的失败处理机制。 回退发出用户指定的替换字符串,而不是已解码的输入字节序列。 此类不能被继承。

DecoderReplacementFallbackBuffer

表示无法对原始输入字节序列解码时发出的替代输出字符串。 此类不能被继承。

Encoder

将一组字符转换为一个字节序列。

EncoderExceptionFallback

为不能转换为输出字节序列的输入字符提供一个称为“回退”的失败处理机制。 如果输入字符无法转换为输出字节序列,则回退会引发异常。 此类不能被继承。

EncoderExceptionFallbackBuffer

当输入字符无法转换为编码的输出字节序列时引发 EncoderFallbackException。 此类不能被继承。

EncoderFallback

为不能转换为已编码输出字节序列的输入字符提供称为“回退”的失败处理机制。

EncoderFallbackBuffer

提供一个缓冲区,该缓冲区允许回退处理程序在编码器无法对输入字符进行编码时将替换字符串返回到该编码器。

EncoderFallbackException

编码器回退操作失败时引发的异常。 此类不能被继承。

EncoderReplacementFallback

为不能转换为输出字节序列的输入字符提供一个称为“回退”的失败处理机制。 此回退使用由用户指定的替换字符串来代替原始的输入字符。 此类不能被继承。

EncoderReplacementFallbackBuffer

表示无法对原始输入字符进行编码时使用的替代输入字符串。 此类不能被继承。

Encoding

表示字符编码。

EncodingExtensions

EncodingEncoderDecoder 等编码类型提供扩展方法。

EncodingInfo

提供有关编码的基本信息。

EncodingProvider

提供编码提供程序的基类,后者提供在特定平台上不可用的编码。

RedactionStringBuilderExtensions

编修实用工具方法。

StringBuilder

表示可变字符字符串。 此类不能被继承。

UnicodeEncoding

表示 Unicode 字符的 UTF-16 编码。

UTF32Encoding

表示 Unicode 字符的 UTF-32 编码。

UTF7Encoding

表示 Unicode 字符的 UTF-7 编码。

UTF8Encoding

表示 Unicode 字符的 UTF-8 编码。

结构

Rune

表示 Unicode 标量值([ U+0000..U+D7FF ],含首尾值;或 [ U+E000..U+10FFFF ],含首尾值)。

SpanLineEnumerator

枚举 的 ReadOnlySpan<T>行。

SpanRuneEnumerator

为由包含 UTF-16 文本的范围表示的 Rune 值提供枚举器。

StringBuilder.AppendInterpolatedStringHandler

提供语言编译器用于将内插字符串追加到 StringBuilder 实例中的处理程序。

StringBuilder.ChunkEnumerator

支持对 StringBuilder 实例的区块进行简单迭代。

StringRuneEnumerator

为由字符串表示的 Rune 值提供枚举器。

枚举

NormalizationForm

定义要执行的规范化的类型。

注解

编码类主要用于在不同的编码或代码页与 Unicode 编码之间进行转换。 Encoding.Unicode (UTF-16) 编码由 .NET 在内部使用,编码 Encoding.UTF8 通常用于存储字符数据,以确保跨计算机和区域性的可移植性。

派生自 Encoding 的类使你能够选择回退策略,该策略确定如何处理无法编码为字节序列的字符或无法解码为字符的字节。 你可以选择以下方法之一:

  • 异常回退。 可以选择通过使用 throwonerror 某些类构造函数中可用的标志或使用 EncoderExceptionFallbackDecoderExceptionFallback 类来对数据错误引发异常。 如果担心数据流的完整性,建议在异常时引发。

  • 替换回退。 可以使用 EncoderFallbackDecoderFallback 类以无提示方式将字符更改为“?”或 Unicode 替换字符 (U+FFFD) 。

  • 最适合的回退。 此选项将一个编码中的字符映射到另一个编码中的字符。 通常不建议使用最佳拟合回退,因为它可能会导致数据丢失和混淆,并且比简单的“?”字符替换要慢。 但是,对于 ANSI 代码页,最适合的行为是默认行为。

StringBuilder 设计用于对单个字符串执行大量操作的操作。 String与 类不同, StringBuilder 类是可变的,在串联或删除字符串时提供更好的性能。

有关 的详细信息 System.Text,请参阅 如何在 .NET 中使用字符编码类