UTF8Encoding.GetMaxCharCount(Int32) Methode

Definition

Berechnet die maximale Anzahl der Zeichen, die beim Decodieren der angegebenen Anzahl von Bytes erzeugt werden.Calculates the maximum number of characters produced by decoding the specified number of bytes.

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

Parameter

byteCount
Int32

Die Anzahl der zu decodierenden Bytes.The number of bytes to decode.

Gibt zurück

Die maximale Anzahl von Zeichen, die beim Decodieren der angegebenen Anzahl von Bytes erzeugt werden.The maximum number of characters produced by decoding the specified number of bytes.

Ausnahmen

byteCount ist kleiner als Null.byteCount is less than zero.

- oder --or- Die daraus resultierende Byteanzahl ist größer als die maximale Anzahl, die als ganze Zahl zurückgegeben werden kann.The resulting number of bytes is greater than the maximum number that can be returned as an integer.

Es ist ein Fallback aufgetreten (eine ausführliche Erläuterung finden Sie unter Zeichencodierung in .NET Framework).A fallback occurred (see Character Encoding in the .NET Framework for complete explanation) - und --and- Für DecoderFallback ist DecoderExceptionFallback festgelegt.DecoderFallback is set to DecoderExceptionFallback.

Beispiele

Im folgenden Beispiel wird die GetMaxCharCount -Methode verwendet, um die maximale Anzahl von Zeichen zurückzugeben, die beim Decodieren einer angegebenen Anzahl von Bytes erzeugt werden.The following example uses the GetMaxCharCount method to return the maximum number of characters produced by decoding a specified number of bytes.

using namespace System;
using namespace System::Text;
int main()
{
   UTF8Encoding^ utf8 = gcnew UTF8Encoding;
   int byteCount = 8;
   int maxCharCount = utf8->GetMaxCharCount( byteCount );
   Console::WriteLine( "Maximum of {0} characters needed to decode {1} bytes.", maxCharCount, byteCount );
}

using System;
using System.Text;

class UTF8EncodingExample {
    public static void Main() {
        UTF8Encoding utf8 = new UTF8Encoding();
        int byteCount = 8;
        int maxCharCount = utf8.GetMaxCharCount(byteCount);
        Console.WriteLine(
            "Maximum of {0} characters needed to decode {1} bytes.",
            maxCharCount,
            byteCount
        );
    }
}
Imports System.Text

Class UTF8EncodingExample
    
    Public Shared Sub Main()
        Dim utf8 As New UTF8Encoding()
        Dim byteCount As Integer = 8
        Dim maxCharCount As Integer = utf8.GetMaxCharCount(byteCount)
        Console.WriteLine( _
            "Maximum of {0} characters needed to decode {1} bytes.", _
            maxCharCount, _
            byteCount _
        )
    End Sub
End Class

Hinweise

Um die genaue Array Größe GetChars zu berechnen, die für zum Speichern der resultierenden Zeichen erforderlich ist, wird die GetCharCount -Methode aufgerufen.To calculate the exact array size required by GetChars to store the resulting characters, you call the GetCharCount method. Um die maximale Array Größe zu berechnen, wird die GetMaxCharCount -Methode aufgerufen.To calculate the maximum array size, you call the GetMaxCharCount method. Die GetCharCount -Methode weist im Allgemeinen weniger Arbeitsspeicher zu GetMaxCharCount , während die-Methode im Allgemeinen schneller ausgeführt wird.The GetCharCount method generally allocates less memory, while the GetMaxCharCount method generally executes faster.

GetMaxCharCountist eine Zahl mit dem ungünstigsten Fall, einschließlich des ungünstigsten DecoderFallbackFalls für den aktuell ausgewählten.GetMaxCharCount is a worst-case number, including the worst case for the currently selected DecoderFallback. Wenn ein Fall Back mit einer potenziell großen Zeichenfolge ausgewählt wird GetMaxCharCount , kann große Werte zurückgeben.If a fallback is chosen with a potentially large string, GetMaxCharCount can return large values.

In den meisten Fällen gibt diese Methode für kleine Zeichen folgen angemessene Zahlen zurück.In most cases, this method returns reasonable numbers for small strings. Bei großen Zeichen folgen müssen Sie möglicherweise zwischen der Verwendung sehr großer Puffer und dem Abfangen von Fehlern wählen, wenn ein sinnvoller Puffer überschritten wird.For large strings, you might have to choose between using very large buffers and catching errors in the rare case that a more reasonable buffer is exceeded. Möglicherweise möchten Sie auch einen anderen Ansatz mithilfe GetCharCount von oder Encoder.Convertbetrachten.You might also want to consider a different approach using GetCharCount or Encoder.Convert.

GetMaxCharCounthat keine Beziehung zu GetBytes.GetMaxCharCount has no relation to GetBytes. Wenn Ihre Anwendung eine ähnliche Funktion benötigt, die mit GetBytesverwendet werden soll, GetMaxByteCountsollte Sie verwendet werden.If your application needs a similar function to use with GetBytes, it should use GetMaxByteCount.

Hinweis

GetMaxCharCount(N)ist nicht notwendigerweise derselbe Wert wie N* GetMaxCharCount(1).GetMaxCharCount(N) is not necessarily the same value as N* GetMaxCharCount(1).

Gilt für:

Siehe auch