ToBase64Transform.TransformBlock(Byte[], Int32, Int32, Byte[], Int32) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.