ToBase64Transform.TransformBlock(Byte[], Int32, Int32, Byte[], Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wandelt den angegebenen Bereich des Eingabebytearrays in Base-64 um 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 in Base-64 zu konvertierende Eingabe.
- inputOffset
- Int32
Der Offset im Eingabebytearray, ab dem Daten verwendet werden sollen.
- 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 im Ausgabebytearray, ab dem Daten geschrieben werden sollen.
Gibt zurück
Die Anzahl der geschriebenen Byte
Implementiert
Ausnahmen
Das aktuelle ToBase64Transform-Objekt wurde bereits freigegeben.
Die Datengröße ist ungültig.
Der inputBuffer
-Parameter enthält eine ungültige Offsetlänge.
- oder -
Der inputCount
-Parameter hat einen ungültigen Wert.
Der inputBuffer
-Parameter ist null
.
Für den inputBuffer
-Parameter ist eine nicht negative Zahl erforderlich.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Die -Methode aufgerufen wird, um die TransformBlock Transformation durch blockSize
inputBytes
zu durchlaufen. 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 );
}
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 Bytes verarbeitet und Ausgabeblöcke mit vier Bytes erstellt. Die TransformBlock -Methode transformiert einen Eingabeblock mit 24 Bits in 32 Bit Zeichendaten. Sie müssen 3 Byte-Eingabegrenzen bis zu 4 Byte-Ausgabegrenzen beibehalten, um der Blocktransformation zu entsprechen.