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.
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.