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

Definitie

Converteert de opgegeven regio van de invoer bytematrix naar basis 64 en kopieert het resultaat naar de opgegeven regio van de uitvoer-bytematrix.

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

Parameters

inputBuffer
Byte[]

De invoer voor het berekenen van basis 64.

inputOffset
Int32

De verschuiving in de invoer bytematrix waaruit gegevens moeten worden gebruikt.

inputCount
Int32

Het aantal bytes in de invoerbytematrix dat moet worden gebruikt als gegevens.

outputBuffer
Byte[]

De uitvoer waarnaar het resultaat moet worden geschreven.

outputOffset
Int32

De offset in de matrix van de uitvoer byte van waaruit gegevens moeten worden geschreven.

Retouren

Het aantal geschreven bytes.

Implementeringen

Uitzonderingen

Het huidige ToBase64Transform object is al verwijderd.

De gegevensgrootte is ongeldig.

De inputOffset parameter bevat een ongeldige offsetlengte.

– of –

De inputCount parameter bevat een ongeldige waarde.

De inputBuffer parameter is null.

De inputCount parameter vereist een niet-negatief getal en kleiner dan of gelijk aan de lengte van inputBuffer.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de TransformBlock methode aanroept om door transformaties blockSizete inputBytes doorlopen. Dit codevoorbeeld maakt deel uit van een groter voorbeeld voor de ToBase64Transform klasse.

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

Opmerkingen

De ToBase64Transform klasse is een blok-algoritme dat invoerblokken van 3 bytes verwerkt en uitvoerblokken van 4 bytes maakt. Met de TransformBlock methode wordt een invoerblok van 24 bits omgezet in 32 bits aan tekengegevens. U moet 3 byte-invoergrenzen bijhouden tot 4 byteuitvoergrenzen om de bloktransformatie te kunnen vinden.

Van toepassing op

Zie ook