Share via


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 saat ini ToBase64Transform telah dibuang.

Ukuran data tidak valid.

Parameter inputBuffer berisi panjang offset yang tidak valid.

-atau-

Parameter inputCount berisi nilai yang tidak valid.

Parameternya inputBuffer adalah null.

Parameter inputBuffer memerlukan angka non-negatif.

Contoh

Contoh kode berikut menunjukkan cara memanggil TransformBlock metode untuk melakukan iterasi melalui inputBytes transformasi dengan blockSize. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk ToBase64Transform kelas .

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 mengubah TransformBlock blok input 24 bit menjadi 32 bit data karakter. Anda harus mempertahankan 3 batas input byte ke 4 batas output byte agar sesuai dengan transformasi blok.

Berlaku untuk

Lihat juga