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

要编码的字符的数目。

返回

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 * (+ 1) charCount ,其中 n 是最大回退字符数。

GetMaxByteCount与之间没有关系 GetChars 。 如果应用程序需要使用类似的函数, GetChars则应使用 GetMaxCharCount它。

备注

GetMaxByteCount(N)不一定与相同 N* GetMaxByteCount(1)

适用于

另请参阅