(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.GetBytes-Methode (String, Int32, Int32, Byte[], Int32)

Codiert Zeichen aus der angegebenen String-Klasse in das angegebene Bytearray.

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

public override int GetBytes(
	string s,
	int charIndex,
	int charCount,
	byte[] bytes,
	int byteIndex
)

Parameter

s
Typ: System.String
Die String-Klasse mit den zu codierenden Zeichen.
charIndex
Typ: System.Int32
Der Index des ersten zu codierenden Zeichens.
charCount
Typ: System.Int32
Die Anzahl der zu codierenden Zeichen.
bytes
Typ: System.Byte[]
Das Bytearray, das die sich ergebende Bytefolge enthalten soll.
byteIndex
Typ: System.Int32
Der Index, an dem mit dem Schreiben der sich ergebenden Bytefolge begonnen werden soll.

Rückgabewert

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

AusnahmeBedingung
ArgumentNullException

s ist null.

- oder -

bytes ist null.

ArgumentOutOfRangeException

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

- oder -

charIndex und charCount geben keinen gültigen Bereich in chars an.

- oder -

byteIndex ist kein gültiger Index in bytes.

ArgumentException

Die Fehlererkennung ist aktiviert, und s enthält eine ungültige Zeichenfolge.

- oder -

bytes hat von byteIndex bis zum Ende des Arrays nicht genügend Kapazität, um die sich ergebenden Bytes aufzunehmen.

EncoderFallbackException

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

- und -

EncoderFallback ist auf EncoderExceptionFallback festgelegt.

Die Anwendung verwendet GetByteCount zum Berechnen der genauen Arraygröße, die von GetBytes zum Speichern der resultierenden Bytes benötigt wird. Die Anwendung muss zum Berechnen der maximalen Arraygröße GetMaxByteCount verwenden. Die GetByteCount-Methode ermöglicht es Ihnen, weniger Speicher zu belegen, wohingegen die GetMaxByteCount-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.

HinweisHinweis

Um sicherzustellen, dass die codierten Bytes ordnungsgemäß decodiert werden, muss die Anwendung codierten Bytes eine Präambel voranstellen.

Im folgenden Beispiel wird veranschaulicht, wie die GetBytes-Methode zum Codieren eines Bereichs von Elementen aus einem Unicode-Zeichenarray verwendet wird und wie die codierten Bytes in einem Bereich von Elementen in einem Bytearray gespeichert werden.


using System;
using System.Text;

class UTF8EncodingExample {
    public static void Main() {
        Byte[] bytes;
        // Unicode characters.
        Char[] chars = new Char[] {
            '\u0023', // #
            '\u0025', // %
            '\u03a0', // Pi
            '\u03a3'  // Sigma
        };

        UTF8Encoding utf8 = new UTF8Encoding();

        int byteCount = utf8.GetByteCount(chars, 1, 2);
        bytes = new Byte[byteCount];
        int bytesEncodedCount = utf8.GetBytes(chars, 1, 2, bytes, 0);

        Console.WriteLine(
            "{0} bytes used to encode characters.", bytesEncodedCount
        );

        Console.Write("Encoded bytes: ");
        foreach (Byte b in bytes) {
            Console.Write("[{0}]", b);
        }
        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