相关文章推荐
阳光的甜瓜  ·  EntityState Enum ...·  2 周前    · 
气势凌人的围巾  ·  SpringBoot+HttpClient+ ...·  4 月前    · 
酒量小的领带  ·  ERROR:HDLCompiler:661 ...·  1 年前    · 

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft Edge More info about Internet Explorer and Microsoft Edge

Specifies whether relevant ToBase64CharArray and ToBase64String methods insert line breaks in their output.

This enumeration supports a bitwise combination of its member values.

public enum class Base64FormattingOptions
[System.Flags]
public enum Base64FormattingOptions
[<System.Flags>]
type Base64FormattingOptions = 
Public Enum Base64FormattingOptions
Inheritance
Base64FormattingOptions

Examples

The following example calls the Convert.ToBase64String(Byte[], Base64FormattingOptions) method with a InsertLineBreaks argument to insert line breaks in the string that is produced by encoding a 100-element byte array:

using System; public class Example public static void Main() // Define a byte array. var 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 string. 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 open System // Define a byte array. let bytes = [| for i = 0 to 99 do byte (i + 1) |] let originalTotal = Array.sumBy int bytes // Display summary information about the array. printfn "The original byte array:" printfn $" Total elements: {bytes.Length}" printfn $" Length of String Representation: {BitConverter.ToString(bytes).Length}" printfn $" Sum of elements: {originalTotal:N0}" printfn "" // Convert the array to a base 64 string. let s = Convert.ToBase64String(bytes, Base64FormattingOptions.InsertLineBreaks) printfn $"The base 64 string:\n {s}\n" // Restore the byte array. let newBytes = Convert.FromBase64String s let newTotal = Array.sumBy int newBytes // Display summary information about the restored array. printfn $" Total elements: {newBytes.Length}" printfn $" Length of String Representation: {BitConverter.ToString(newBytes).Length}" printfn $" Sum of elements: {newTotal:N0}" // 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 Module Example Public Sub Main() ' Define a byte array. Dim bytes(99) As Byte Dim originalTotal As Integer = 0 For ctr As Integer = 0 To bytes.GetUpperBound(0) bytes(ctr) = CByte(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 string. Dim s As String = Convert.ToBase64String(bytes, Base64FormattingOptions.InsertLineBreaks) Console.WriteLine("The base 64 string:{1} {0}{1}", s, vbCrLf) ' Restore the byte array. Dim newBytes() As Byte = Convert.FromBase64String(s) Dim newTotal As Integer = 0 For Each 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) End Sub End Module ' 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 Convert.FromBase64String succeeds in restoring the original byte array; the line break characters are ignored during the conversion.

Remarks

The Convert.ToBase64CharArray and Convert.ToBase64String methods convert the value of an array of 8-bit unsigned integers to an equivalent string representation that consists of base 64 digits. The string representation can contain one or more line breaks, where a line break is defined as a carriage return character (U+000D) followed by a line feed character (U+000A). Because line breaks are considered white-space characters in a base-64 encoding, they are ignored when converting a base-64 encoded string back to a byte array. The line breaks are simply convenient when displaying the encoded string to a control or a device such as a console window.

The None and InsertLineBreaks values are mutually exclusive. Therefore, although the Base64FormattingOptions enumeration is marked with the FlagsAttribute attribute, it makes no sense to perform a bitwise combination of these two values.

Applies to