ToBase64Transform.TransformBlock(Byte[], Int32, Int32, Byte[], Int32) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Giriş bayt dizisinin belirtilen bölgesini 64 tabanına dönüştürür ve sonucu çıkış bayt dizisinin belirtilen bölgesine kopyalar.
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
Parametreler
- inputBuffer
- Byte[]
64 tabanına işlem girişi.
- inputOffset
- Int32
Veri kullanmaya başlamak için giriş bayt dizisine uzaklık.
- inputCount
- Int32
Veri olarak kullanılacak giriş bayt dizisindeki bayt sayısı.
- outputBuffer
- Byte[]
Sonucun yazıldığı çıkış.
- outputOffset
- Int32
Veri yazmaya başlamak için çıkış bayt dizisine uzaklık.
Döndürülenler
Yazılan bayt sayısı.
Uygulamalar
Özel durumlar
Geçerli ToBase64Transform nesne zaten atılmış.
Veri boyutu geçerli değil.
inputOffset parametresi geçersiz bir uzaklık uzunluğu içeriyor.
-veya-
inputCount parametresi geçersiz bir değer içeriyor.
inputBuffer parametresi null'dir.
parametresi negatif inputCount olmayan bir sayı ve uzunluğuna inputBuffereşit veya daha küçük bir sayı gerektirir.
Örnekler
Aşağıdaki kod örneğinde tarafından dönüştürme TransformBlockyoluyla inputBytes yinelemek için yönteminin nasıl çağrıldığı blockSize gösterilmektedir. Bu kod örneği, sınıfı için ToBase64Transform sağlanan daha büyük bir örneğin parçasıdır.
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
Açıklamalar
ToBase64Transform sınıfı, 3 baytlık giriş bloklarını işleyen ve 4 baytlık çıkış blokları oluşturan bir blok algoritmasıdır. yöntemi, TransformBlock 24 bitlik bir giriş bloğunu 32 bit karakter verisine dönüştürür. Blok dönüşümünü eşleştirmek için 3 bayt giriş sınırlarını 4 bayt çıkış sınırlarına kadar tutmanız gerekir.