ASCIIEncoding.GetMaxByteCount(Int32) 方法

定義

計算將指定數目的字元編碼所產生的最大位元組數目。

public:
 override int GetMaxByteCount(int charCount);
public override int GetMaxByteCount (int charCount);
override this.GetMaxByteCount : int -> int
Public Overrides Function GetMaxByteCount (charCount As Integer) As Integer

參數

charCount
Int32

要編碼的字元數。

傳回

編碼指定字元數所產生的最大位元組數。

例外狀況

charCount 小於零。

-或-

所產生的位元組數目大於可用整數傳回的數目上限。

範例

下列範例示範如何使用 GetMaxByteCount 方法來計算編碼指定字元數目所需的位元組。

using namespace System;
using namespace System::Text;
int main()
{
   ASCIIEncoding^ ascii = gcnew ASCIIEncoding;
   int charCount = 2;
   int maxByteCount = ascii->GetMaxByteCount( charCount );
   Console::WriteLine( "Maximum of {0} bytes needed to encode {1} characters.", maxByteCount, charCount );
}
using System;
using System.Text;

class ASCIIEncodingExample {
    public static void Main() {
        ASCIIEncoding ascii = new ASCIIEncoding();
        int charCount = 2;
        int maxByteCount = ascii.GetMaxByteCount(charCount);
        Console.WriteLine(
            "Maximum of {0} bytes needed to encode {1} characters.",
            maxByteCount,
            charCount
        );
    }
}
Imports System.Text

Class ASCIIEncodingExample
    Public Shared Sub Main()
        Dim ascii As New ASCIIEncoding()
        Dim charCount As Integer = 2
        Dim maxByteCount As Integer = ascii.GetMaxByteCount(charCount)
        Console.WriteLine( _
            "Maximum of {0} bytes needed to encode {1} characters.", _
            maxByteCount, _
            charCount _
        )
    End Sub
End Class

備註

方法 GetByteCount 會計算方法儲存所產生位元組所需的 GetBytes 確切陣列大小,而 GetMaxByteCount 方法則會計算陣列大小上限。 方法 GetByteCount 通常會配置較少的記憶體,但 GetMaxByteCount 方法通常會更快執行。

GetMaxByteCount 是最差大小寫的數位,包括目前選取 EncoderFallback 的最差大小寫。 如果您選擇具有可能大型字串的取代後援, GetMaxByteCount 可以傳回大值。

方法 GetMaxByteCount 會考慮先前編碼作業的潛在剩餘代理。 因此,如果 ASCIIEncoding 物件使用預設取代後援,或自訂取代後援已使用單一可能的後援字元來定義,則方法會傳 charCount 回 + 1。 ASCIIEncoding如果物件使用具有多個可能後援字元的取代後援,此方法會傳回n * (charCount + 1) ,其中n是後援字元的最大數目。

GetMaxByteCount 與 沒有關聯 GetChars 。 如果您的應用程式需要與 搭配 GetChars 使用的類似函式,它應該使用 GetMaxCharCount

注意

GetMaxByteCount(N) 不一定與 N* GetMaxByteCount(1) 相同值。

適用於

另請參閱