Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Metodo Convert.ToBase64CharArray (Byte[], Int32, Int32, Char[], Int32)

Converte un sottoinsieme di una matrice di interi senza segno a 8 bit in un sottoinsieme equivalente di una matrice di caratteri Unicode codificati con cifre base 64. I parametri specificano i sottoinsiemi come offset nelle matrici di input e output e il numero di elementi nella matrice di input da convertire.

Spazio dei nomi:  System
Assembly:  mscorlib (in mscorlib.dll)

public static int ToBase64CharArray(
	byte[] inArray,
	int offsetIn,
	int length,
	char[] outArray,
	int offsetOut
)

Parametri

inArray
Tipo: System.Byte[]
Una matrice di input di interi senza segno a 8 bit.
offsetIn
Tipo: System.Int32
Una posizione all'interno di inArray.
length
Tipo: System.Int32
Il numero di elementi di inArray da convertire.
outArray
Tipo: System.Char[]
Una matrice di output di caratteri Unicode.
offsetOut
Tipo: System.Int32
Una posizione all'interno di outArray.

Valore restituito

Tipo: System.Int32
Un intero con segno a 32 bit contenente il numero di byte in outArray .

EccezioneCondizione
ArgumentNullException

inArray o outArray è null.

ArgumentOutOfRangeException

il parametro offsetIn, offsetOut o length è negativo.

- oppure -

la somma di offsetIn e length è maggiore della lunghezza di inArray.

- oppure -

La somma di offsetOut e del numero di elementi da restituire è maggiore della lunghezza di outArray .

Il sottoinsieme di elementi length di inArray che partono dalla posizione offsetIn viene considerato come valore numerico e convertito in un sottoinsieme di elementi in outArray che partono dalla posizione offsetOut . Il valore restituito indica il numero di elementi convertiti in outArray . Il subset di outArray consiste di cifre in Base 64.

Le cifre in base 64, in ordine crescente a partire da zero, sono i caratteri maiuscoli dalla "A" alla "Z", i caratteri minuscoli dalla "a" alla "z", i caratteri numerici da "0" a "9" e i simboli "+" e "/". Il carattere non significativo "=" viene utilizzato per i caratteri di riempimento finali.

I parametri offset e length sono numeri con segno a 32 bit. I parametri offsetIn e offsetOut sono posizioni di matrici in base zero.

Nota importanteImportante

Il metodo ToBase64CharArray è progettato per elaborare una matrice a un byte che contiene tutti i dati da codificare. Per creare una matrice di caratteri Base 64 da un flusso di byte, utilizzare la classe System.Security.Cryptography.ToBase64Transform.

Nell'esempio riportato di seguito viene illustrato l'utilizzo del metodo ToBase64CharArray per la codifica UUencode (codifica a Base 64) di un flusso binario, che viene quindi salvato in un file.


public void EncodeWithCharArray() {
   System.IO.FileStream inFile;    
   byte[]             binaryData;

   try {
      inFile = new System.IO.FileStream(inputFileName,
                                 System.IO.FileMode.Open,
                                System.IO.FileAccess.Read);
      binaryData = new Byte[inFile.Length];
      long bytesRead = inFile.Read(binaryData, 0,
                           (int) inFile.Length);
      inFile.Close();
   }
   catch (System.Exception exp) {
      // Error creating stream or reading from it.
      System.Console.WriteLine("{0}", exp.Message);
      return;
   }

   // Convert the binary input into Base64 UUEncoded output.
   // Each 3 byte sequence in the source data becomes a 4 byte
   // sequence in the character array. 
   long arrayLength = (long) ((4.0d/3.0d) * binaryData.Length);

   // If array length is not divisible by 4, go up to the next
   // multiple of 4.
   if (arrayLength % 4 != 0) {
      arrayLength += 4 - arrayLength % 4;
   }

   char[] base64CharArray = new char[arrayLength];
   try {
      System.Convert.ToBase64CharArray(binaryData, 
                               0,
                               binaryData.Length,
                               base64CharArray,
                               0);
   }
   catch (System.ArgumentNullException) {
      System.Console.WriteLine("Binary data array is null.");
      return;
   }
   catch (System.ArgumentOutOfRangeException) {
      System.Console.WriteLine("Char Array is not large enough.");
      return;
   }

   // Write the UUEncoded version to the output file.
   System.IO.StreamWriter outFile; 
   try {
      outFile = new System.IO.StreamWriter(outputFileName,
                              false,
                              System.Text.Encoding.ASCII);          
      outFile.Write(base64CharArray);
      outFile.Close();
   }
   catch (System.Exception exp) {
      // Error creating stream or writing to it.
      System.Console.WriteLine("{0}", exp.Message);
   }
}


.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft