(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

UTF8Encoding.GetChars-Methode (Byte[], Int32, Int32, Char[], Int32)

Decodiert eine Bytefolge aus dem angegebenen Bytearray in das angegebene Zeichenarray.

Namespace:  System.Text
Assembly:  mscorlib (in mscorlib.dll)

public override int GetChars(
	byte[] bytes,
	int byteIndex,
	int byteCount,
	char[] chars,
	int charIndex
)

Parameter

bytes
Typ: System.Byte[]
Das Bytearray, das die zu decodierende Bytefolge enthält.
byteIndex
Typ: System.Int32
Der Index des ersten zu decodierenden Bytes.
byteCount
Typ: System.Int32
Die Anzahl der zu decodierenden Bytes.
chars
Typ: System.Char[]
Das Zeichenarray, das die sich ergebenden Zeichen enthalten soll.
charIndex
Typ: System.Int32
Der Index, an dem mit dem Schreiben der sich ergebenden Zeichen begonnen werden soll.

Rückgabewert

Typ: System.Int32
Die tatsächliche Anzahl der Zeichen, die in chars geschrieben werden.

AusnahmeBedingung
ArgumentNullException

bytes ist null.

- oder -

chars ist null.

ArgumentOutOfRangeException

byteIndex, byteCount oder charIndex ist kleiner als 0 (null).

- oder -

byteindex und byteCount geben keinen gültigen Bereich in bytes an.

- oder -

charIndex ist kein gültiger Index in chars.

ArgumentException

Die Fehlererkennung ist aktiviert, und bytes enthält eine ungültige Bytefolge.

- oder -

chars hat von charIndex bis zum Ende des Arrays nicht genügend Kapazität, um die sich ergebenden Zeichen aufzunehmen.

DecoderFallbackException

Es ist ein Fallback aufgetreten (eine ausführliche Erklärung finden Sie unter Zeichencodierung in .NET Framework).

- und -

DecoderFallback ist auf DecoderExceptionFallback festgelegt.

Die Anwendung verwendet GetCharCount zum Berechnen der genauen Arraygröße, die von GetChars zum Speichern der resultierenden Zeichen benötigt wird. Die Anwendung muss zum Berechnen der maximalen Arraygröße GetMaxCharCount verwenden. Die GetCharCount-Methode ermöglicht es Ihnen, weniger Speicher zu belegen, wohingegen die GetMaxCharCount-Methode in der Regel schneller ausgeführt wird.

Bei aktivierter Fehlererkennung löst diese Methode aufgrund einer ungültigen Folge eine ArgumentException-Ausnahme aus. Ohne Fehlererkennung werden ungültige Folgen ignoriert, und es wird keine Ausnahme ausgelöst.

Zu konvertierende Daten, z. B. aus einem Stream gelesene Daten, sind möglicherweise nur als sequenzielle Blöcke verfügbar. In diesem Fall, oder wenn die Datenmenge so groß ist, dass sie in kleinere Blöcke aufgeteilt werden muss, verwendet die Anwendung den von der GetDecoder-Methode bzw. der GetEncoder-Methode bereitgestellten Decoder oder Encoder.

Im folgenden Beispiel wird veranschaulicht, wie die GetChars-Methode zum Decodieren eines Bereichs von Elementen im Bytearray und zum Speichern des Ergebnisses im Zeichenarray verwendet wird.


using System;
using System.Text;

class UTF8EncodingExample {
    public static void Main() {
        Char[] chars;
        Byte[] bytes = new Byte[] {
             85,  84,  70,  56,  32,  69, 110,
             99, 111, 100, 105, 110, 103,  32,
             69, 120,  97, 109, 112, 108, 101
        };

        UTF8Encoding utf8 = new UTF8Encoding();

        int charCount = utf8.GetCharCount(bytes, 2, 13);
        chars = new Char[charCount];
        int charsDecodedCount = utf8.GetChars(bytes, 2, 13, chars, 0);

        Console.WriteLine(
            "{0} characters used to decode bytes.", charsDecodedCount
        );

        Console.Write("Decoded chars: ");
        foreach (Char c in chars) {
            Console.Write("[{0}]", c);
        }
        Console.WriteLine();
    }
}


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft