ToBase64Transform.TransformBlock(Byte[], Int32, Int32, Byte[], Int32) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Converte a região especificada da matriz de bytes de entrada em base 64 e copia o resultado para a região especificada da matriz de bytes de saída.
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
Parâmetros
- inputBuffer
- Byte[]
A entrada para computação na base 64.
- inputOffset
- Int32
O deslocamento para a matriz de bytes de entrada da qual começar a usar dados.
- inputCount
- Int32
O número de bytes na matriz de bytes de entrada a serem usados como dados.
- outputBuffer
- Byte[]
A saída para a qual gravar o resultado.
- outputOffset
- Int32
O deslocamento para a matriz de bytes de saída da qual começar a gravar dados.
Retornos
O número de bytes gravados.
Implementações
Exceções
O objeto ToBase64Transform atual já foi descartado.
O tamanho dos dados não é válido.
O parâmetro inputOffset
contém um comprimento de deslocamento inválido.
-ou-
O parâmetro inputCount
contém um valor inválido.
O parâmetro inputBuffer
é null
.
O parâmetro inputCount
requer um número não negativo e menor ou igual ao comprimento de inputBuffer
.
Exemplos
O exemplo de código a seguir demonstra como chamar o método TransformBlock para iterar por meio inputBytes
transformação blockSize
. Este exemplo de código faz parte de um exemplo maior fornecido para a classe 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
Comentários
A classe ToBase64Transform é um algoritmo de bloco que processa blocos de entrada de 3 bytes e cria blocos de saída de 4 bytes. O método TransformBlock transforma um bloco de entrada de 24 bits em 32 bits de dados de caractere. Você deve manter os limites de entrada de 3 bytes para 4 limites de saída de bytes para corresponder à transformação do bloco.
Aplica-se a
Confira também
- dos Serviços Criptográficos