Bagikan melalui


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

Definisi

Mengonversi wilayah yang ditentukan dari array byte input ke basis 64 dan menyalin hasilnya ke wilayah yang ditentukan dari array byte output.

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[]

Input untuk menghitung ke basis 64.

inputOffset
Int32

Offset ke dalam array byte input untuk mulai menggunakan data.

inputCount
Int32

Jumlah byte dalam array byte input untuk digunakan sebagai data.

outputBuffer
Byte[]

Output untuk menulis hasilnya.

outputOffset
Int32

Offset ke dalam array byte output untuk mulai menulis data.

Mengembalikan

Jumlah byte yang ditulis.

Penerapan

Pengecualian

Objek ToBase64Transform saat ini telah dibuang.

Ukuran data tidak valid.

Parameter inputOffset berisi panjang offset yang tidak valid.

-atau-

Parameter inputCount berisi nilai yang tidak valid.

Parameter inputBuffernull.

Parameter inputCount memerlukan angka non-negatif dan kurang dari atau sama dengan panjang inputBuffer.

Contoh

Contoh kode berikut menunjukkan cara memanggil metode TransformBlock untuk melakukan iterasi melalui transformasi inputBytes dengan blockSize. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk kelas 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

Keterangan

Kelas ToBase64Transform adalah algoritma blok yang memproses blok input 3 byte dan membuat blok output 4 byte. Metode TransformBlock mengubah blok input 24 bit menjadi 32 bit data karakter. Anda harus mempertahankan 3 batas input byte hingga 4 batas output byte agar sesuai dengan transformasi blok.

Berlaku untuk

Lihat juga

  • Layanan Kriptografi