ToBase64Transform.TransformBlock(Byte[], Int32, Int32, Byte[], Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengonversi wilayah yang ditentukan dari array byte input menjadi 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 hingga 4 batas output byte agar sesuai dengan transformasi blok.