ToBase64Transform.TransformBlock(Byte[], Int32, Int32, Byte[], Int32) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Převede zadanou oblast vstupního bajtového pole na základ 64 a zkopíruje výsledek do zadané oblasti výstupního bajtového pole.
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
Parametry
- inputBuffer
- Byte[]
Vstup pro výpočet základní hodnoty 64.
- inputOffset
- Int32
Posun do vstupního bajtového pole, ze kterého chcete začít používat data.
- inputCount
- Int32
Počet bajtů ve vstupním bajtovém poli, které se mají použít jako data.
- outputBuffer
- Byte[]
Výstup, do kterého chcete napsat výsledek.
- outputOffset
- Int32
Posun do výstupního bajtového pole, ze kterého se mají začít zapisovat data.
Návraty
Počet zapsaných bajtů.
Implementuje
Výjimky
Aktuální objekt ToBase64Transform již byl uvolněn.
Velikost dat není platná.
Parametr inputOffset
obsahuje neplatnou délku posunu.
-nebo-
Parametr inputCount
obsahuje neplatnou hodnotu.
Parametr inputBuffer
je null
.
Parametr inputCount
vyžaduje nezáporné číslo a menší nebo rovno délce inputBuffer
.
Příklady
Následující příklad kódu ukazuje, jak volat TransformBlock metoda iterovat prostřednictvím inputBytes
transformace pomocí blockSize
. Tento příklad kódu je součástí většího příkladu poskytnutého pro třídu ToBase64Transform.
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
Poznámky
Třída ToBase64Transform je algoritmus bloku, který zpracovává vstupní bloky se 3 bajty a vytváří výstupní bloky se 4 bajty. Metoda TransformBlock transformuje vstupní blok 24 bitů na 32 bitů znakových dat. Aby bylo možné přizpůsobit transformaci bloku, je nutné zachovat 3 bajtové vstupní hranice na 4 bajtové výstupní hranice.
Platí pro
Viz také
- kryptografických služeb