#region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.5mscorlib.dll
#endregion
using System.Runtime;
using System.Runtime.InteropServices;
using System.Security;
namespace System.Text
{
//
// 摘要:
// 表示字符编码。若要浏览此类型的.NET Framework 源代码,请参阅 Reference Source。
[ComVisible(true)]
public abstract class Encoding : ICloneable
{
//
// 摘要:
// 初始化 System.Text.Encoding 类的新实例。
protected Encoding();
//
// 摘要:
// 初始化对应于指定代码页的 System.Text.Encoding 类的新实例。
//
// 参数:
// codePage:
// 首选编码的代码页标识符。- 或 - 0,使用默认编码。
//
// 异常:
// T:System.ArgumentOutOfRangeException:
// codePage 小于零。
protected Encoding(int codePage);
//
// 摘要:
// 获取 UTF-7 格式的编码。
//
// 返回结果:
// UTF-7 格式的编码。
public static Encoding UTF7 { get; }
//
// 摘要:
// 获取使用 Big Endian 字节顺序的 UTF-16 格式的编码。
//
// 返回结果:
// 使用 Big Endian 字节顺序的 UTF-16 格式的编码对象。
public static Encoding BigEndianUnicode { get; }
//
// 摘要:
// 获取使用 Little-Endian 字节顺序的 UTF-16 格式的编码。
//
// 返回结果:
// 使用 Little-Endian 字节顺序的 UTF-16 格式的编码。
public static Encoding Unicode { get; }
//
// 摘要:
// 获取操作系统的当前 ANSI 代码页的编码。
//
// 返回结果:
// 操作系统的当前 ANSI 代码页的编码。
public static Encoding Default { get; }
//
// 摘要:
// 获取 ASCII(7 位)字符集的编码。
//
// 返回结果:
// ASCII(7 位)字符集的编码。
public static Encoding ASCII { get; }
//
// 摘要:
// 获取 UTF-8 格式的编码。
//
// 返回结果:
// UTF-8 格式的编码。
public static Encoding UTF8 { get; }
//
// 摘要:
// 获取使用 Little-Endian 字节顺序的 UTF-32 格式的编码。
//
// 返回结果:
// 使用 Little-Endian 字节顺序的 UTF-32 格式的编码对象。
public static Encoding UTF32 { get; }
//
// 摘要:
// 获取或设置当前 System.Text.DecoderFallback 对象的 System.Text.Encoding 对象。
//
// 返回结果:
// 当前 System.Text.Encoding 对象的解码器回退对象。
//
// 异常:
// T:System.ArgumentNullException:
// 设置操作中的值为 null。
//
// T:System.InvalidOperationException:
// 无法在设置操作中分配一个值,因为当前 System.Text.Encoding 对象是只读的。
[ComVisible(false)]
public DecoderFallback DecoderFallback { get; set; }
//
// 摘要:
// 在派生类中重写时,获取当前 System.Text.Encoding 的代码页标识符。
//
// 返回结果:
// 当前 System.Text.Encoding 的代码页标识符。
public virtual int CodePage { get; }
//
// 摘要:
// 在派生类中重写时,获取一个值,该值指示当前的编码是否为只读。
//
// 返回结果:
// 如果当前 true 为只读,则为 System.Text.Encoding;否则为 false。 默认值为 true。
[ComVisible(false)]
public bool IsReadOnly { get; }
//
// 摘要:
// 在派生类中重写时,获取可与邮件代理正文标记一起使用的当前编码的名称。
//
// 返回结果:
// 可与邮件代理正文标记一起使用的当前 System.Text.Encoding 的名称。- 或 - 如果当前 System.Text.Encoding 无法使用,则为空字符串
// ("")。
public virtual string BodyName { get; }
//
// 摘要:
// 在派生类中重写时,获取当前编码的用户可读说明。
//
// 返回结果:
// 当前 System.Text.Encoding 的用户可读说明。
public virtual string EncodingName { get; }
//
// 摘要:
// 获取或设置当前 System.Text.EncoderFallback 对象的 System.Text.Encoding 对象。
//
// 返回结果:
// 当前 System.Text.Encoding 对象的编码器回退对象。
//
// 异常:
// T:System.ArgumentNullException:
// 设置操作中的值为 null。
//
// T:System.InvalidOperationException:
// 无法在设置操作中分配一个值,因为当前 System.Text.Encoding 对象是只读的。
[ComVisible(false)]
public EncoderFallback EncoderFallback { get; set; }
//
// 摘要:
// 在派生类中重写时,获取在 Internet 编号分配管理机构 (IANA) 注册的当前编码的名称。
//
// 返回结果:
// 当前 System.Text.Encoding 的 IANA 名称。
public virtual string WebName { get; }
//
// 摘要:
// 在派生类中重写时,获取可与邮件代理头标记一起使用的当前编码的名称。
//
// 返回结果:
// 与邮件代理头标记一起使用的当前 System.Text.Encoding 的名称。- 或 - 如果当前 System.Text.Encoding 无法使用,则为空字符串
// ("")。
public virtual string HeaderName { get; }
//
// 摘要:
// 在派生类中重写时,获取一个值,该值指示浏览器客户端是否可以使用当前的编码显示内容。
//
// 返回结果:
// 如果浏览器客户端可以使用当前 true 显示内容,则为 System.Text.Encoding;否则为 false。
public virtual bool IsBrowserDisplay { get; }
//
// 摘要:
// 在派生类中重写时,获取一个值,该值指示浏览器客户端是否可以使用当前的编码保存内容。
//
// 返回结果:
// 如果浏览器客户端可以使用当前 true 保存内容,则为 System.Text.Encoding;否则为 false。
public virtual bool IsBrowserSave { get; }
//
// 摘要:
// 在派生类中重写时,获取一个值,该值指示邮件和新闻客户端是否可以使用当前的编码显示内容。
//
// 返回结果:
// 如果邮件和新闻客户端可以使用当前 true 显示内容,则为 System.Text.Encoding;否则为 false。
public virtual bool IsMailNewsDisplay { get; }
//
// 摘要:
// 在派生类中重写时,获取一个值,该值指示邮件和新闻客户端是否可以使用当前的编码保存内容。
//
// 返回结果:
// 如果邮件和新闻客户端可以使用当前 true 保存内容,则为 System.Text.Encoding;否则为 false。
public virtual bool IsMailNewsSave { get; }
//
// 摘要:
// 在派生类中重写时,获取一个值,该值指示当前的编码是否使用单字节码位。
//
// 返回结果:
// 如果当前 true 使用单字节码位,则为 System.Text.Encoding;否则为 false。
[ComVisible(false)]
public virtual bool IsSingleByte { get; }
//
// 摘要:
// 在派生类中重写时,获取与当前编码最紧密对应的 Windows 操作系统代码页。
//
// 返回结果:
// 与当前 System.Text.Encoding 最紧密对应的 Windows 操作系统代码页。
public virtual int WindowsCodePage { get; }
//
// 摘要:
// 将字节数组内某个范围的字节从一种编码转换为另一种编码。
//
// 参数:
// srcEncoding:
// 源数组 bytes 的编码。
//
// dstEncoding:
// 输出数组的编码。
//
// bytes:
// 要转换的字节数组。
//
// index:
// 要转换的 bytes 中第一个元素的索引。
//
// count:
// 要转换的字节数。
//
// 返回结果:
// 一个 System.Byte 类型的数组,其中包含将 bytes 中某个范围的字节从 srcEncoding 转换为 dstEncoding 的结果。
//
// 异常:
// T:System.ArgumentNullException:
// srcEncoding 为 null。- 或 - dstEncoding 为 null。- 或 - bytes 为 null。
//
// T:System.ArgumentOutOfRangeException:
// index 和 count 没有在字节数组中指定的有效范围。
//
// T:System.Text.DecoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-srcEncoding。System.Text.Encoding.DecoderFallback
// 设置为 System.Text.DecoderExceptionFallback。
//
// T:System.Text.EncoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-dstEncoding。System.Text.Encoding.EncoderFallback
// 设置为 System.Text.EncoderExceptionFallback。
public static byte[] Convert(Encoding srcEncoding, Encoding dstEncoding, byte[] bytes, int index, int count);
//
// 摘要:
// 将整个字节数组从一种编码转换为另一种编码。
//
// 参数:
// srcEncoding:
// bytes 的编码格式。
//
// dstEncoding:
// 目标编码格式。
//
// bytes:
// 要转换的字节。
//
// 返回结果:
// System.Byte 类型的数组,其中包含将 bytes 从 srcEncoding 转换为 dstEncoding 的结果。
//
// 异常:
// T:System.ArgumentNullException:
// srcEncoding 为 null。- 或 - dstEncoding 为 null。- 或 - bytes 为 null。
//
// T:System.Text.DecoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-srcEncoding。System.Text.Encoding.DecoderFallback
// 设置为 System.Text.DecoderExceptionFallback。
//
// T:System.Text.EncoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-dstEncoding。System.Text.Encoding.EncoderFallback
// 设置为 System.Text.EncoderExceptionFallback。
public static byte[] Convert(Encoding srcEncoding, Encoding dstEncoding, byte[] bytes);
//
// 摘要:
// 返回与指定代码页标识符关联的编码。
//
// 参数:
// codepage:
// 首选编码的代码页标识符。 可能值均在 System.Text.Encoding 类主题中出现的表的“代码页”一列中列出。- 或 - 0(零),使用默认编码。
//
// 返回结果:
// 与指定代码页关联的编码。
//
// 异常:
// T:System.ArgumentOutOfRangeException:
// codepage 小于零或大于 65535。
//
// T:System.ArgumentException:
// codepage 不支持由基础平台。
//
// T:System.NotSupportedException:
// codepage 不支持由基础平台。
[SecuritySafeCritical]
public static Encoding GetEncoding(int codepage);
//
// 摘要:
// 返回与指定代码页名称关联的编码。
//
// 参数:
// name:
// 首选编码的代码页名称。System.Text.Encoding.WebName 属性返回的所有值均有效。 可能值均在 System.Text.Encoding
// 类主题中出现的表的“名称”一列中列出。
//
// 返回结果:
// 与指定代码页关联的编码。
//
// 异常:
// T:System.ArgumentException:
// name 不是有效的代码页名称。- 或 - 代码页由 name 不支持由基础平台。
public static Encoding GetEncoding(string name);
//
// 摘要:
// 返回与指定代码页名称关联的编码。 参数指定一个错误处理程序,用于处理无法编码的字符和无法解码的字节序列。
//
// 参数:
// name:
// 首选编码的代码页名称。System.Text.Encoding.WebName 属性返回的所有值均有效。 可能值均在 System.Text.Encoding
// 类主题中出现的表的“名称”一列中列出。
//
// encoderFallback:
// 一个对象,在无法用当前编码对字符进行编码时,该对象可用来提供错误处理过程。
//
// decoderFallback:
// 一个对象,在无法用当前编码对字节序列进行解码时,该对象可用来提供错误处理过程。
//
// 返回结果:
// 与指定代码页关联的编码。
//
// 异常:
// T:System.ArgumentException:
// name 不是有效的代码页名称。- 或 - 代码页由 name 不支持由基础平台。
public static Encoding GetEncoding(string name, EncoderFallback encoderFallback, DecoderFallback decoderFallback);
//
// 摘要:
// 返回与指定代码页标识符关联的编码。 参数指定一个错误处理程序,用于处理无法编码的字符和无法解码的字节序列。
//
// 参数:
// codepage:
// 首选编码的代码页标识符。 可能值均在 System.Text.Encoding 类主题中出现的表的“代码页”一列中列出。- 或 - 0(零),使用默认编码。
//
// encoderFallback:
// 一个对象,在无法用当前编码对字符进行编码时,该对象可用来提供错误处理过程。
//
// decoderFallback:
// 一个对象,在无法用当前编码对字节序列进行解码时,该对象可用来提供错误处理过程。
//
// 返回结果:
// 与指定代码页关联的编码。
//
// 异常:
// T:System.ArgumentOutOfRangeException:
// codepage 小于零或大于 65535。
//
// T:System.ArgumentException:
// codepage 不支持由基础平台。
//
// T:System.NotSupportedException:
// codepage 不支持由基础平台。
public static Encoding GetEncoding(int codepage, EncoderFallback encoderFallback, DecoderFallback decoderFallback);
//
// 摘要:
// 返回包含所有编码的数组。
//
// 返回结果:
// 包含所有编码的数组。
public static EncodingInfo[] GetEncodings();
//
// 摘要:
// 当在派生类中重写时,创建当前 System.Text.Encoding 对象的一个卷影副本。
//
// 返回结果:
// 当前 System.Text.Encoding 对象的副本。
[ComVisible(false)]
public virtual object Clone();
//
// 摘要:
// 确定指定的 System.Object 是否等同于当前实例。
//
// 参数:
// value:
// 与当前实例进行比较的 System.Object。
//
// 返回结果:
// 如果 true 是 value 的一个实例并且等于当前实例,则为 System.Text.Encoding;否则,为 false。
public override bool Equals(object value);
//
// 摘要:
// 在派生类中重写时,计算对指定字符数组中的所有字符进行编码所产生的字节数。
//
// 参数:
// chars:
// 包含要编码的字符的字符数组。
//
// 返回结果:
// 对指定字符数组中的所有字符进行编码后产生的字节数。
//
// 异常:
// T:System.ArgumentNullException:
// chars 为 null。
//
// T:System.Text.EncoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.EncoderFallback
// 设置为 System.Text.EncoderExceptionFallback。
public virtual int GetByteCount(char[] chars);
//
// 摘要:
// 在派生类中重写时,计算对指定字符串中的字符进行编码所产生的字节数。
//
// 参数:
// s:
// 包含要编码的字符集的字符串。
//
// 返回结果:
// 对指定字符进行编码后生成的字节数。
//
// 异常:
// T:System.ArgumentNullException:
// s 为 null。
//
// T:System.Text.EncoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.EncoderFallback
// 设置为 System.Text.EncoderExceptionFallback。
public virtual int GetByteCount(string s);
//
// 摘要:
// 在派生类中重写时,计算对指定字符数组中的一组字符进行编码所产生的字节数。
//
// 参数:
// chars:
// 包含要编码的字符集的字符数组。
//
// index:
// 第一个要编码的字符的索引。
//
// count:
// 要编码的字符的数目。
//
// 返回结果:
// 对指定字符进行编码后生成的字节数。
//
// 异常:
// T:System.ArgumentNullException:
// chars 为 null。
//
// T:System.ArgumentOutOfRangeException:
// index 或 count 小于零。- 或 - index 和 count 不表示中的有效范围 chars。
//
// T:System.Text.EncoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.EncoderFallback
// 设置为 System.Text.EncoderExceptionFallback。
public abstract int GetByteCount(char[] chars, int index, int count);
//
// 摘要:
// 在派生类中重写时,计算对一组字符(从指定的字符指针处开始)进行编码所产生的字节数。
//
// 参数:
// chars:
// 指向第一个要编码的字符的指针。
//
// count:
// 要编码的字符的数目。
//
// 返回结果:
// 对指定字符进行编码后生成的字节数。
//
// 异常:
// T:System.ArgumentNullException:
// chars 为 null。
//
// T:System.ArgumentOutOfRangeException:
// count 小于零。
//
// T:System.Text.EncoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.EncoderFallback
// 设置为 System.Text.EncoderExceptionFallback。
[CLSCompliant(false)]
[ComVisible(false)]
[SecurityCritical]
public virtual int GetByteCount(char* chars, int count);
//
// 摘要:
// 在派生类中重写时,将指定字符数组中的所有字符编码为一个字节序列。
//
// 参数:
// chars:
// 包含要编码的字符的字符数组。
//
// 返回结果:
// 一个字节数组,包含对指定的字符集进行编码的结果。
//
// 异常:
// T:System.ArgumentNullException:
// chars 为 null。
//
// T:System.Text.EncoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.EncoderFallback
// 设置为 System.Text.EncoderExceptionFallback。
public virtual byte[] GetBytes(char[] chars);
//
// 摘要:
// 在派生类中重写时,将指定字符数组中的一组字符编码为一个字节序列。
//
// 参数:
// chars:
// 包含要编码的字符集的字符数组。
//
// index:
// 第一个要编码的字符的索引。
//
// count:
// 要编码的字符的数目。
//
// 返回结果:
// 一个字节数组,包含对指定的字符集进行编码的结果。
//
// 异常:
// T:System.ArgumentNullException:
// chars 为 null。
//
// T:System.ArgumentOutOfRangeException:
// index 或 count 小于零。- 或 - index 和 count 不表示中的有效范围 chars。
//
// T:System.Text.EncoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.EncoderFallback
// 设置为 System.Text.EncoderExceptionFallback。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public virtual byte[] GetBytes(char[] chars, int index, int count);
//
// 摘要:
// 在派生类中重写时,将指定字符数组中的一组字符编码为指定的字节数组。
//
// 参数:
// chars:
// 包含要编码的字符集的字符数组。
//
// charIndex:
// 第一个要编码的字符的索引。
//
// charCount:
// 要编码的字符的数目。
//
// bytes:
// 要包含所产生的字节序列的字节数组。
//
// byteIndex:
// 要开始写入所产生的字节序列的索引位置。
//
// 返回结果:
// 写入 bytes 的实际字节数。
//
// 异常:
// T:System.ArgumentNullException:
// chars 为 null。- 或 - bytes 为 null。
//
// T:System.ArgumentOutOfRangeException:
// charIndex 或 charCount 或 byteIndex 也不可小于零。- 或 - charIndex 和 charCount 不表示中的有效范围
// chars。- 或 - byteIndex 不是 bytes 中的有效索引。
//
// T:System.ArgumentException:
// bytes 没有足够的容量,从 byteIndex 到以适应所产生的字节数组的末尾。
//
// T:System.Text.EncoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.EncoderFallback
// 设置为 System.Text.EncoderExceptionFallback。
public abstract int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);
//
// 摘要:
// 在派生类中重写时,将指定字符串中的一组字符编码为指定的字节数组。
//
// 参数:
// s:
// 包含要编码的字符集的字符串。
//
// charIndex:
// 第一个要编码的字符的索引。
//
// charCount:
// 要编码的字符的数目。
//
// bytes:
// 要包含所产生的字节序列的字节数组。
//
// byteIndex:
// 要开始写入所产生的字节序列的索引位置。
//
// 返回结果:
// 写入 bytes 的实际字节数。
//
// 异常:
// T:System.ArgumentNullException:
// s 为 null。- 或 - bytes 为 null。
//
// T:System.ArgumentOutOfRangeException:
// charIndex 或 charCount 或 byteIndex 也不可小于零。- 或 - charIndex 和 charCount 不表示中的有效范围
// chars。- 或 - byteIndex 不是 bytes 中的有效索引。
//
// T:System.ArgumentException:
// bytes 没有足够的容量,从 byteIndex 到以适应所产生的字节数组的末尾。
//
// T:System.Text.EncoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.EncoderFallback
// 设置为 System.Text.EncoderExceptionFallback。
public virtual int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex);
//
// 摘要:
// 在派生类中重写时,将一组字符(从指定的字符指针开始)编码为一个字节序列,并从指定的字节指针开始存储该字节序列。
//
// 参数:
// chars:
// 指向第一个要编码的字符的指针。
//
// charCount:
// 要编码的字符的数目。
//
// bytes:
// 一个指针,指向开始写入所产生的字节序列的位置。
//
// byteCount:
// 最多写入的字节数。
//
// 返回结果:
// 在由 bytes 参数指示的位置处写入的实际字节数。
//
// 异常:
// T:System.ArgumentNullException:
// chars 为 null。- 或 - bytes 为 null。
//
// T:System.ArgumentOutOfRangeException:
// charCount 或 byteCount 也不可小于零。
//
// T:System.ArgumentException:
// byteCount 小于所产生的字节数。
//
// T:System.Text.EncoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.EncoderFallback
// 设置为 System.Text.EncoderExceptionFallback。
[CLSCompliant(false)]
[ComVisible(false)]
[SecurityCritical]
public virtual int GetBytes(char* chars, int charCount, byte* bytes, int byteCount);
//
// 摘要:
// 在派生类中重写时,将指定字符串中的所有字符编码为一个字节序列。
//
// 参数:
// s:
// 包含要编码的字符的字符串。
//
// 返回结果:
// 一个字节数组,包含对指定的字符集进行编码的结果。
//
// 异常:
// T:System.ArgumentNullException:
// s 为 null。
//
// T:System.Text.EncoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.EncoderFallback
// 设置为 System.Text.EncoderExceptionFallback。
public virtual byte[] GetBytes(string s);
//
// 摘要:
// 在派生类中重写时,计算对指定字节数组中的所有字节进行解码所产生的字符数。
//
// 参数:
// bytes:
// 包含要解码的字节序列的字节数组。
//
// 返回结果:
// 对指定字节序列进行解码所产生的字符数。
//
// 异常:
// T:System.ArgumentNullException:
// bytes 为 null。
//
// T:System.Text.DecoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.DecoderFallback
// 设置为 System.Text.DecoderExceptionFallback。
public virtual int GetCharCount(byte[] bytes);
//
// 摘要:
// 在派生类中重写时,计算对字节序列(从指定字节数组开始)进行解码所产生的字符数。
//
// 参数:
// bytes:
// 包含要解码的字节序列的字节数组。
//
// index:
// 第一个要解码的字节的索引。
//
// count:
// 要解码的字节数。
//
// 返回结果:
// 对指定字节序列进行解码所产生的字符数。
//
// 异常:
// T:System.ArgumentNullException:
// bytes 为 null。
//
// T:System.ArgumentOutOfRangeException:
// index 或 count 小于零。- 或 - index 和 count 不表示 bytes 中的有效范围。
//
// T:System.Text.DecoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.DecoderFallback
// 设置为 System.Text.DecoderExceptionFallback。
public abstract int GetCharCount(byte[] bytes, int index, int count);
//
// 摘要:
// 在派生类中重写时,计算对字节序列(从指定的字节指针开始)进行解码所产生的字符数。
//
// 参数:
// bytes:
// 指向第一个要解码的字节的指针。
//
// count:
// 要解码的字节数。
//
// 返回结果:
// 对指定字节序列进行解码所产生的字符数。
//
// 异常:
// T:System.ArgumentNullException:
// bytes 为 null。
//
// T:System.ArgumentOutOfRangeException:
// count 小于零。
//
// T:System.Text.DecoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.DecoderFallback
// 设置为 System.Text.DecoderExceptionFallback。
[CLSCompliant(false)]
[ComVisible(false)]
[SecurityCritical]
public virtual int GetCharCount(byte* bytes, int count);
//
// 摘要:
// 在派生类中重写时,将一个字节序列(从指定的字节指针开始)解码为一组字符,并从指定的字符指针开始存储该组字符。
//
// 参数:
// bytes:
// 指向第一个要解码的字节的指针。
//
// byteCount:
// 要解码的字节数。
//
// chars:
// 一个指针,指向开始写入所产生的字符集的位置。
//
// charCount:
// 要写入的最大字符数。
//
// 返回结果:
// 在由 chars 参数指示的位置处写入的实际字符数。
//
// 异常:
// T:System.ArgumentNullException:
// bytes 为 null。- 或 - chars 为 null。
//
// T:System.ArgumentOutOfRangeException:
// byteCount 或 charCount 也不可小于零。
//
// T:System.ArgumentException:
// charCount 小于所产生的字符数。
//
// T:System.Text.DecoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.DecoderFallback
// 设置为 System.Text.DecoderExceptionFallback。
[CLSCompliant(false)]
[ComVisible(false)]
[SecurityCritical]
public virtual int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
//
// 摘要:
// 在派生类中重写时,将指定字节数组中的所有字节解码为一组字符。
//
// 参数:
// bytes:
// 包含要解码的字节序列的字节数组。
//
// 返回结果:
// 一个字节数组,包含对指定的字节序列进行解码的结果。
//
// 异常:
// T:System.ArgumentNullException:
// bytes 为 null。
//
// T:System.Text.DecoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.DecoderFallback
// 设置为 System.Text.DecoderExceptionFallback。
public virtual char[] GetChars(byte[] bytes);
//
// 摘要:
// 在派生类中重写时,将指定字节数组中的一个字节序列解码为一组字符。
//
// 参数:
// bytes:
// 包含要解码的字节序列的字节数组。
//
// index:
// 第一个要解码的字节的索引。
//
// count:
// 要解码的字节数。
//
// 返回结果:
// 一个字节数组,包含对指定的字节序列进行解码的结果。
//
// 异常:
// T:System.ArgumentNullException:
// bytes 为 null。
//
// T:System.ArgumentOutOfRangeException:
// index 或 count 小于零。- 或 - index 和 count 不表示 bytes 中的有效范围。
//
// T:System.Text.DecoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.DecoderFallback
// 设置为 System.Text.DecoderExceptionFallback。
public virtual char[] GetChars(byte[] bytes, int index, int count);
//
// 摘要:
// 在派生类中重写时,将指定字节数组中的字节序列解码为指定的字符数组。
//
// 参数:
// bytes:
// 包含要解码的字节序列的字节数组。
//
// byteIndex:
// 第一个要解码的字节的索引。
//
// byteCount:
// 要解码的字节数。
//
// chars:
// 要用于包含所产生的字符集的字符数组。
//
// charIndex:
// 开始写入所产生的字符集的索引位置。
//
// 返回结果:
// 写入 chars 的实际字符数。
//
// 异常:
// T:System.ArgumentNullException:
// bytes 为 null。- 或 - chars 为 null。
//
// T:System.ArgumentOutOfRangeException:
// byteIndex 或 byteCount 或 charIndex 也不可小于零。- 或 - byteindex 和 byteCount 不表示中的有效范围
// bytes。- 或 - charIndex 不是 chars 中的有效索引。
//
// T:System.ArgumentException:
// chars 没有足够的容量,从 charIndex 到要适应所产生的字符的数组的末尾。
//
// T:System.Text.DecoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.DecoderFallback
// 设置为 System.Text.DecoderExceptionFallback。
public abstract int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
//
// 摘要:
// 在派生类中重写时,获取一个解码器,该解码器将已编码的字节序列转换为字符序列。
//
// 返回结果:
// 一个 System.Text.Decoder,它将已编码的字节序列转换为字符序列。
public virtual Decoder GetDecoder();
//
// 摘要:
// 在派生类中重写时,获取一个解码器,该解码器将 Unicode 字符序列转换为已编码的字节序列。
//
// 返回结果:
// 一个 System.Text.Encoder,它将 Unicode 字符序列转换为已编码的字节序列。
public virtual Encoder GetEncoder();
//
// 摘要:
// 返回当前实例的哈希代码。
//
// 返回结果:
// 当前实例的哈希代码。
public override int GetHashCode();
//
// 摘要:
// 在派生类中重写时,计算对指定数目的字符进行编码所产生的最大字节数。
//
// 参数:
// charCount:
// 要编码的字符的数目。
//
// 返回结果:
// 对指定数目的字符进行编码所产生的最大字节数。
//
// 异常:
// T:System.ArgumentOutOfRangeException:
// charCount 小于零。
//
// T:System.Text.EncoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.EncoderFallback
// 设置为 System.Text.EncoderExceptionFallback。
public abstract int GetMaxByteCount(int charCount);
//
// 摘要:
// 在派生类中重写时,计算对指定数目的字节进行解码时所产生的最大字符数。
//
// 参数:
// byteCount:
// 要解码的字节数。
//
// 返回结果:
// 对指定数目的字节进行解码时所产生的最大字符数。
//
// 异常:
// T:System.ArgumentOutOfRangeException:
// byteCount 小于零。
//
// T:System.Text.DecoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.DecoderFallback
// 设置为 System.Text.DecoderExceptionFallback。
public abstract int GetMaxCharCount(int byteCount);
//
// 摘要:
// 在派生类中重写时,返回指定所用编码的字节序列。
//
// 返回结果:
// 一个字节数组,包含指定所用编码的字节序列。- 或 - 长度为零的字节数组(如果不需要前导码)。
public virtual byte[] GetPreamble();
//
// 摘要:
// 在派生类中重写时,将指定字节数组中的所有字节解码为一个字符串。
//
// 参数:
// bytes:
// 包含要解码的字节序列的字节数组。
//
// 返回结果:
// 包含指定字节序列解码结果的字符串。
//
// 异常:
// T:System.ArgumentException:
// 字节数组包含无效的 Unicode 码位。
//
// T:System.ArgumentNullException:
// bytes 为 null。
//
// T:System.Text.DecoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.DecoderFallback
// 设置为 System.Text.DecoderExceptionFallback。
public virtual string GetString(byte[] bytes);
//
// 摘要:
// 在派生类中重写时,将指定字节数组中的一个字节序列解码为一个字符串。
//
// 参数:
// bytes:
// 包含要解码的字节序列的字节数组。
//
// index:
// 第一个要解码的字节的索引。
//
// count:
// 要解码的字节数。
//
// 返回结果:
// 包含指定字节序列解码结果的字符串。
//
// 异常:
// T:System.ArgumentException:
// 字节数组包含无效的 Unicode 码位。
//
// T:System.ArgumentNullException:
// bytes 为 null。
//
// T:System.ArgumentOutOfRangeException:
// index 或 count 小于零。- 或 - index 和 count 不表示 bytes 中的有效范围。
//
// T:System.Text.DecoderFallbackException:
// 发生回退 (请参阅 .NET Framework 中的字符编码 有关完整说明)-和-将 System.Text.Encoding.DecoderFallback
// 设置为 System.Text.DecoderExceptionFallback。
public virtual string GetString(byte[] bytes, int index, int count);
//
// 摘要:
// 使用默认范式获取一个值,该值指示当前编码是否始终被规范化。
//
// 返回结果:
// 如果当前 true 始终被规范化,则为 System.Text.Encoding;否则为 false。 默认值为 false。
[ComVisible(false)]
public bool IsAlwaysNormalized();
//
// 摘要:
// 在派生类中重写时,使用指定范式获取一个值,该值指示当前编码是否始终被规范化。
//
// 参数:
// form:
// System.Text.NormalizationForm 值之一。
//
// 返回结果:
// 如果始终使用指定的 true 值规范化当前 System.Text.Encoding 对象,则为 System.Text.NormalizationForm;否则为
// false。 默认值为 false。
[ComVisible(false)]
public virtual bool IsAlwaysNormalized(NormalizationForm form);
}
}