ASCIIEncoding.GetMaxByteCount(Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
计算对指定数目的字符进行编码时产生的最大字节数。
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
要编码的字符的数目。
返回
对指定数目的字符进行编码所产生的最大字节数。
例外
示例
下面的示例演示如何使用 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)
。