System.Text 命名空间

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

ASCIIEncoding

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

CodePagesEncodingProvider

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

Decoder

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

DecoderExceptionFallback

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

DecoderExceptionFallbackBuffer

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

DecoderFallback

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

DecoderFallbackBuffer

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

DecoderFallbackException

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

DecoderReplacementFallback

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

DecoderReplacementFallbackBuffer

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

Encoder

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

EncoderExceptionFallback

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

EncoderExceptionFallbackBuffer

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

EncoderFallback

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

EncoderFallbackBuffer

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

EncoderFallbackException

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

EncoderReplacementFallback

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

EncoderReplacementFallbackBuffer

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

Encoding

表示字符编码。

EncodingExtensions

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

EncodingInfo

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

EncodingProvider

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

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 某些类构造函数中提供的标志或使用和类来选择引发数据错误的异常 EncoderExceptionFallback DecoderExceptionFallback 。 如果你担心数据流的完整性,则建议在出现异常时引发。

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

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

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

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