#region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.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);
}
}