#region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.6.1mscorlib.dll
#endregion
using System.Runtime.InteropServices;
using System.Security;
namespace System.Text
{
//
// 摘要:
// 将已编码字节的序列转换为一组字符。
[ComVisible(true)]
public abstract class Decoder
{
//
// 摘要:
// 初始化 System.Text.Decoder 类的新实例。
protected Decoder();
//
// 摘要:
// 获取或设置 System.Text.DecoderFallback 当前对象 System.Text.Decoder 对象。
//
// 返回结果:
// 一个 System.Text.DecoderFallback 对象。
//
// 异常:
// T:System.ArgumentNullException:
// 设置操作中的值是 null (Nothing)。
//
// T:System.ArgumentException:
// 不能在设置操作中分配一个新值,因为当前 System.Text.DecoderFallbackBuffer 对象包含尚未解码的数据。
[ComVisible(false)]
public DecoderFallback Fallback { get; set; }
//
// 摘要:
// 获取 System.Text.DecoderFallbackBuffer 关联与当前对象 System.Text.Decoder 对象。
//
// 返回结果:
// 一个 System.Text.DecoderFallbackBuffer 对象。
[ComVisible(false)]
public DecoderFallbackBuffer FallbackBuffer { get; }
//
// 摘要:
// 将编码字节的数组转换为 UTF-16 编码字符,并将结果存储在字符数组中。
//
// 参数:
// bytes:
// 要转换的字节数组。
//
// byteIndex:
// 要转换的 bytes 的第一个元素。
//
// byteCount:
// 要转换的 bytes 的元素数。
//
// chars:
// 用于存储转换后的字符的数组。
//
// charIndex:
// 存储数据的 chars 的第一个元素。
//
// charCount:
// 要在转换中使用的 chars 的元素的最大数量。
//
// flush:
// 如果没有更多的数据要进行转换,则为 true;否则为 false。
//
// bytesUsed:
// 当此方法返回时,包含在转换中使用的字节数。 此参数未经初始化即被传递。
//
// charsUsed:
// 当此方法返回时,包含由转换生成的 chars 中的字符数。 此参数未经初始化即被传递。
//
// completed:
// 当此方法返回时,如果转换了所有由 byteCount 指定的字符,则包含 true;否则包含 false。 此参数未经初始化即被传递。
//
// 异常:
// T:System.ArgumentNullException:
// chars 或 bytes 为 null (Nothing)。
//
// T:System.ArgumentOutOfRangeException:
// charIndex、charCount、byteIndex 或 byteCount 小于零。 - 或 - chars 的长度 - charIndex 小于
// charCount。 - 或 - bytes 的长度 - byteIndex 小于 byteCount。
//
// T:System.ArgumentException:
// 输出缓冲区太小,无法包含任何已转换的输出。 输出缓冲区应大于或等于由 Overload:System.Text.Decoder.GetCharCount
// 方法指示的大小。
//
// T:System.Text.DecoderFallbackException:
// 发生了回退(有关更完整的说明,请参阅.NET Framework 中的字符编码) -和- 将 System.Text.Decoder.Fallback 设置为
// System.Text.DecoderExceptionFallback。
[ComVisible(false)]
public virtual void Convert(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex, int charCount, bool flush, out int bytesUsed, out int charsUsed, out bool completed);
//
// 摘要:
// 将编码字节的缓冲区转换为 UTF-16 编码字符,并将结果存储在另一个缓冲区中。
//
// 参数:
// bytes:
// 包含要转换的字节序列的缓冲区的地址。
//
// byteCount:
// bytes 中要转换的字节数。
//
// chars:
// 用于存储已转换的字符的缓冲区的地址。
//
// charCount:
// 要在转换中使用的 chars 中的最大字符数。
//
// flush:
// 如果没有更多的数据要进行转换,则为 true;否则为 false。
//
// bytesUsed:
// 当此方法返回时,包含由转换生成的字节数。 此参数未经初始化即被传递。
//
// charsUsed:
// 当此方法返回时,包含来自在转换中使用的 chars 的字符数。 此参数未经初始化即被传递。
//
// completed:
// 当此方法返回时,如果转换了所有由 byteCount 指定的字符,则包含 true;否则包含 false。 此参数未经初始化即被传递。
//
// 异常:
// T:System.ArgumentNullException:
// chars 或 bytes 为 null (Nothing)。
//
// T:System.ArgumentOutOfRangeException:
// charCount 或 byteCount 小于零。
//
// T:System.ArgumentException:
// 输出缓冲区太小,无法包含任何已转换的输出。 输出缓冲区应大于或等于由 Overload:System.Text.Decoder.GetCharCount
// 方法指示的大小。
//
// T:System.Text.DecoderFallbackException:
// 发生了回退(有关更完整的说明,请参阅.NET Framework 中的字符编码) -和- 将 System.Text.Decoder.Fallback 设置为
// System.Text.DecoderExceptionFallback。
[CLSCompliant(false)]
[ComVisible(false)]
[SecurityCritical]
public virtual void Convert(byte* bytes, int byteCount, char* chars, int charCount, bool flush, out int bytesUsed, out int charsUsed, out bool completed);
//
// 摘要:
// 在派生类中重写时,计算对字节序列(从指定字节数组开始)进行解码所产生的字符数。
//
// 参数:
// bytes:
// 包含要解码的字节序列的字节数组。
//
// index:
// 第一个要解码的字节的索引。
//
// count:
// 要解码的字节数。
//
// 返回结果:
// 对指定的字节序列和内部缓冲区中任何字节进行解码所产生的字符数。
//
// 异常:
// T:System.ArgumentNullException:
// bytes 为 null (Nothing)。
//
// T:System.ArgumentOutOfRangeException:
// index 或 count 小于零。 - 或 - index 和 count 不表示 bytes 中的有效范围。
//
// T:System.Text.DecoderFallbackException:
// 发生了回退(有关更完整的说明,请参阅.NET Framework 中的字符编码) -和- 将 System.Text.Decoder.Fallback 设置为
// System.Text.DecoderExceptionFallback。
public abstract int GetCharCount(byte[] bytes, int index, int count);
//
// 摘要:
// 在派生类中重写时,计算对字节序列(从指定字节数组开始)进行解码所产生的字符数。 一个参数,该参数指示是否在计算后清除解码器的内部状态。
//
// 参数:
// bytes:
// 包含要解码的字节序列的字节数组。
//
// index:
// 第一个要解码的字节的索引。
//
// count:
// 要解码的字节数。
//
// flush:
// 若要在计算后模拟清除解码器的内部状态,则为 true;否则为 false。
//
// 返回结果:
// 对指定的字节序列和内部缓冲区中任何字节进行解码所产生的字符数。
//
// 异常:
// T:System.ArgumentNullException:
// bytes 为 null (Nothing)。
//
// T:System.ArgumentOutOfRangeException:
// index 或 count 小于零。 - 或 - index 和 count 不表示 bytes 中的有效范围。
//
// T:System.Text.DecoderFallbackException:
// 发生了回退(有关更完整的说明,请参阅.NET Framework 中的字符编码) -和- 将 System.Text.Decoder.Fallback 设置为
// System.Text.DecoderExceptionFallback。
[ComVisible(false)]
public virtual int GetCharCount(byte[] bytes, int index, int count, bool flush);
//
// 摘要:
// 在派生类中重写时,计算对字节序列(从指定的字节指针开始)进行解码所产生的字符数。 一个参数,指示是否在计算后清除解码器的内部状态。
//
// 参数:
// bytes:
// 指向第一个要解码的字节的指针。
//
// count:
// 要解码的字节数。
//
// flush:
// true 若要模拟的计算; 之后清除编码器的内部状态否则为 false。
//
// 返回结果:
// 对指定的字节序列和内部缓冲区中任何字节进行解码所产生的字符数。
//
// 异常:
// T:System.ArgumentNullException:
// bytes 是 null (Nothing 在 Visual Basic.NET)。
//
// T:System.ArgumentOutOfRangeException:
// count 小于零。
//
// T:System.Text.DecoderFallbackException:
// 发生了回退(有关更完整的说明,请参阅.NET Framework 中的字符编码) -和- 将 System.Text.Decoder.Fallback 设置为
// System.Text.DecoderExceptionFallback。
[CLSCompliant(false)]
[ComVisible(false)]
[SecurityCritical]
public virtual int GetCharCount(byte* bytes, int count, bool flush);
//
// 摘要:
// 当在派生类中重写,将解码为指定的字符数组的指定的字节数组中的字节数和内部缓冲区中的任何字节序列。
//
// 参数:
// bytes:
// 包含要解码的字节序列的字节数组。
//
// byteIndex:
// 第一个要解码的字节的索引。
//
// byteCount:
// 要解码的字节数。
//
// chars:
// 要用于包含所产生的字符集的字符数组。
//
// charIndex:
// 开始写入所产生的字符集的索引位置。
//
// 返回结果:
// 写入 chars 的实际字符数。
//
// 异常:
// T:System.ArgumentNullException:
// bytes 为 null (Nothing)。 - 或 - chars 为 null (Nothing)。
//
// T:System.ArgumentOutOfRangeException:
// byteIndex 或 byteCount 或 charIndex 也不可小于零。 - 或 - byteindex 和 byteCount 不表示 bytes
// 中的有效范围。 - 或 - charIndex 不是 chars 中的有效索引。
//
// T:System.ArgumentException:
// chars 没有足够的容量,从 charIndex 到要适应所产生的字符的数组的末尾。
//
// T:System.Text.DecoderFallbackException:
// 发生了回退(有关更完整的说明,请参阅.NET Framework 中的字符编码) -和- 将 System.Text.Decoder.Fallback 设置为
// System.Text.DecoderExceptionFallback。
public abstract int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
//
// 摘要:
// 当在派生类中重写,将解码为指定的字符数组的指定的字节数组中的字节数和内部缓冲区中的任何字节序列。 一个参数,指示是否在转换后清除解码器的内部状态。
//
// 参数:
// bytes:
// 包含要解码的字节序列的字节数组。
//
// byteIndex:
// 第一个要解码的字节的索引。
//
// byteCount:
// 要解码的字节数。
//
// chars:
// 要用于包含所产生的字符集的字符数组。
//
// charIndex:
// 开始写入所产生的字符集的索引位置。
//
// flush:
// true 若要在转换; 后清除解码器的内部状态否则为 false。
//
// 返回结果:
// 实际写入的字符数 chars 参数。
//
// 异常:
// T:System.ArgumentNullException:
// bytes 为 null (Nothing)。 - 或 - chars 为 null (Nothing)。
//
// T:System.ArgumentOutOfRangeException:
// byteIndex 或 byteCount 或 charIndex 也不可小于零。 - 或 - byteindex 和 byteCount 不表示 bytes
// 中的有效范围。 - 或 - charIndex 不是 chars 中的有效索引。
//
// T:System.ArgumentException:
// chars 没有足够的容量,从 charIndex 到要适应所产生的字符的数组的末尾。
//
// T:System.Text.DecoderFallbackException:
// 发生了回退(有关更完整的说明,请参阅.NET Framework 中的字符编码) -和- 将 System.Text.Decoder.Fallback 设置为
// System.Text.DecoderExceptionFallback。
public virtual int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex, bool flush);
//
// 摘要:
// 当在派生类中重写的字节序列解码为一组字符,并从指定的字符指针开始存储在指定的字节指针和内部缓冲区中的任何字节开始。 一个参数,指示是否在转换后清除解码器的内部状态。
//
// 参数:
// bytes:
// 指向第一个要解码的字节的指针。
//
// byteCount:
// 要解码的字节数。
//
// chars:
// 一个指针,指向开始写入所产生的字符集的位置。
//
// charCount:
// 要写入的最大字符数。
//
// flush:
// true 若要在转换; 后清除解码器的内部状态否则为 false。
//
// 返回结果:
// 在由 chars 参数指示的位置处写入的实际字符数。
//
// 异常:
// T:System.ArgumentNullException:
// bytes 为 null (Nothing)。 - 或 - chars 为 null (Nothing)。
//
// T:System.ArgumentOutOfRangeException:
// byteCount 或 charCount 小于零。
//
// T:System.ArgumentException:
// charCount 小于所产生的字符数。
//
// T:System.Text.DecoderFallbackException:
// 发生了回退(有关更完整的说明,请参阅.NET Framework 中的字符编码) -和- 将 System.Text.Decoder.Fallback 设置为
// System.Text.DecoderExceptionFallback。
[CLSCompliant(false)]
[ComVisible(false)]
[SecurityCritical]
public virtual int GetChars(byte* bytes, int byteCount, char* chars, int charCount, bool flush);
//
// 摘要:
// 当在派生类中重写,会将解码器设置回其初始状态。
[ComVisible(false)]
public virtual void Reset();
}
}