Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Enumeración Base64FormattingOptions

 

Publicado: noviembre de 2016

Especifica si los métodos Convert.ToBase64CharArray y Convert.ToBase64String relevantes insertan saltos de línea en su salida.

Esta enumeración tiene un atributo FlagsAttribute que permite una combinación bit a bit de sus valores de miembro.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

[FlagsAttribute]
public enum Base64FormattingOptions

Nombre de miembroDescripción
InsertLineBreaks

Inserta saltos de línea después de cada 76 caracteres en la representación de cadena.

None

No inserta saltos de línea después de cada 76 caracteres en la representación de cadena.

El Convert.ToBase64CharArray y Convert.ToBase64String métodos convierten el valor de una matriz de enteros de 8 bits sin signo en una representación de cadena equivalente formada por dígitos de base 64. La representación de cadena puede contener uno o más de los saltos de línea, donde un salto de línea se define como un carro devuelven caracteres (U+000D) seguido de un carácter (U + 000A) de avance de línea. Dado que los saltos de línea se consideran caracteres de espacio en blanco en una codificación de Base64, éstos se omitirán al convertir una base 64 de cadena a una matriz de bytes codificada. Los saltos de línea son convenientes simplemente al mostrar la cadena codificada a un control o un dispositivo como una ventana de consola.

El Base64FormattingOptions.None y Base64FormattingOptions.InsertLineBreaks valores son mutuamente excluyentes. Por lo tanto, aunque la Base64FormattingOptions enumeración está marcada con el FlagsAttribute atributo, no tiene sentido realizar una combinación bit a bit de estos dos valores.

El ejemplo siguiente se llama el Convert.ToBase64String(Byte[], Base64FormattingOptions) con un Base64FormattingOptions.InsertLineBreaks argumento para Insertar línea se interrumpe en la cadena que se genera al codificar una matriz de bytes de elemento de 100.

using System;

public class Example
{
   public static void Main()
   {
       // Define a byte array.
       Byte[] bytes = new Byte[100];
       int originalTotal = 0;
       for (int ctr = 0; ctr <= bytes.GetUpperBound(0); ctr++) {
          bytes[ctr] = (byte)(ctr + 1);
          originalTotal += bytes[ctr];
       }
       // Display summary information about the array.
       Console.WriteLine("The original byte array:");
       Console.WriteLine("   Total elements: {0}", bytes.Length);
       Console.WriteLine("   Length of String Representation: {0}",
                         BitConverter.ToString(bytes).Length);
       Console.WriteLine("   Sum of elements: {0:N0}", originalTotal);                  
       Console.WriteLine();

       // Convert the array to a base 64 sring.
       String s = Convert.ToBase64String(bytes, 
                                         Base64FormattingOptions.InsertLineBreaks);
       Console.WriteLine("The base 64 string:\n   {0}\n", s);

       // Restore the byte array.
       Byte[] newBytes = Convert.FromBase64String(s);
       int newTotal = 0;
       foreach (var newByte in newBytes)
          newTotal += newByte;

       // Display summary information about the restored array.
       Console.WriteLine("   Total elements: {0}", newBytes.Length);
       Console.WriteLine("   Length of String Representation: {0}",
                         BitConverter.ToString(newBytes).Length);
       Console.WriteLine("   Sum of elements: {0:N0}", newTotal);                  
   }
}
// The example displays the following output:
//   The original byte array:
//      Total elements: 100
//      Length of String Representation: 299
//      Sum of elements: 5,050
//   
//   The base 64 string:
//      AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5
//   Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZA==
//   
//      Total elements: 100
//      Length of String Representation: 299
//      Sum of elements: 5,050

As the output from the example shows, the M:System.Convert.FromBase64String(System.String) succeeds in restoring the original byte array; the line break characters are ignored during the conversion.

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar: