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 置換フォールバックを使用している場合、またはカスタム置換フォールバックが 1 つの可能なフォールバック文字で定義されている場合、メソッドは + 1 を返 charCount
します。 オブジェクトが ASCIIEncoding 複数の可能なフォールバック文字を持つ代替フォールバックを使用する場合、メソッドは n * (charCount
+ 1) を返します。 n はフォールバック文字の最大数です。
GetMaxByteCountには関係がありません GetChars 。 アプリケーションで使用するのと同様の関数が必要な GetChars場合は、使用する必要があります GetMaxCharCount。
注意
GetMaxByteCount(N)
はと同じ値であるとは限りません N* GetMaxByteCount(1)
。