ToBase64Transform.TransformBlock(Byte[], Int32, Int32, Byte[], Int32) Methode

Definition

Konvertiert den angegebenen Bereich des Eingabebytearrays in Basis 64 und kopiert das Ergebnis in den angegebenen Bereich des Ausgabebytearrays.

public:
 virtual int TransformBlock(cli::array <System::Byte> ^ inputBuffer, int inputOffset, int inputCount, cli::array <System::Byte> ^ outputBuffer, int outputOffset);
public int TransformBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset);
abstract member TransformBlock : byte[] * int * int * byte[] * int -> int
override this.TransformBlock : byte[] * int * int * byte[] * int -> int
Public Function TransformBlock (inputBuffer As Byte(), inputOffset As Integer, inputCount As Integer, outputBuffer As Byte(), outputOffset As Integer) As Integer

Parameter

inputBuffer
Byte[]

Die Zu berechnende Eingabe auf Basis 64.

inputOffset
Int32

Der Offset in das Eingabebytearray, aus dem mit der Verwendung von Daten begonnen werden soll.

inputCount
Int32

Die Anzahl der Bytes im Eingabebytearray, die als Daten verwendet werden sollen.

outputBuffer
Byte[]

Die Ausgabe, in die das Ergebnis geschrieben werden soll.

outputOffset
Int32

Der Offset in das Ausgabebytearray, aus dem mit dem Schreiben von Daten begonnen werden soll.

Gibt zurück

Die Anzahl der geschriebenen Byte

Implementiert

Ausnahmen

Das aktuelle ToBase64Transform Objekt wurde bereits verworfen.

Die Datengröße ist ungültig.

Der inputOffset Parameter enthält eine ungültige Offsetlänge.

-oder-

Der inputCount Parameter enthält einen ungültigen Wert.

Der inputBuffer Parameter ist null.

Der inputCount Parameter erfordert eine nicht negative Zahl und kleiner als oder gleich der Länge von inputBuffer.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die Methode zum Durchlaufen der TransformBlockinputBytes Transformation durch blockSize. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die ToBase64Transform Klasse bereitgestellt wird.

int inputBlockSize = base64Transform.InputBlockSize;

while(inputBytes.Length - inputOffset > inputBlockSize)
{
    base64Transform.TransformBlock(
        inputBytes,
        inputOffset,
        inputBytes.Length - inputOffset,
        outputBytes,
        0);

    inputOffset += base64Transform.InputBlockSize;
    outputFileStream.Write(
        outputBytes, 
        0, 
        base64Transform.OutputBlockSize);
}
Dim inputBlockSize As Integer = base64Transform.InputBlockSize

While (inputBytes.Length - inputOffset > inputBlockSize)
    base64Transform.TransformBlock( _
        inputBytes, _
        inputOffset, _
        inputBytes.Length - inputOffset, _
        outputBytes, _
        0)

    inputOffset += base64Transform.InputBlockSize
    outputFileStream.Write(outputBytes, _
        0, _
        base64Transform.OutputBlockSize)
End While

Hinweise

Die ToBase64Transform Klasse ist ein Blockalgorithmus, der Eingabeblöcke von 3 Byte verarbeitet und Ausgabeblöcke von 4 Byte erstellt. Die TransformBlock Methode wandelt einen Eingabeblock von 24 Bit in 32 Bit Zeichendaten um. Sie müssen 3 Byte-Eingabegrenzen auf 4 Byte-Ausgabegrenzen beibehalten, um der Blocktransformation zu entsprechen.

Gilt für:

Weitere Informationen