Open In App

C# | Convert.FromBase64String(String) Method

Last Updated : 01 Feb, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

This method is used to convert the specified string, which encodes binary data as base-64 digits, to an equivalent 8-bit unsigned integer array.

Syntax:

public static byte[] FromBase64String (string s);

Here, s is the string to convert.

Return Value: This method returns an array of 8-bit unsigned integers that is equivalent to s.

Exceptions

  • ArgumentNullException: If the s is null.
  • FormatException: If the length of s, ignoring white-space characters, is not zero or a multiple of 4. OR the format of s is invalid. s contains a non-base-64 character, more than two padding characters, or a non-white space character among the padding characters.

Below programs illustrate the use of Convert.FromBase64String(String) Method:

Example 1:




// C# program to demonstrate the
// Convert.FromBase64String(String) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // defining and initializing
            // byte1 and byte2
            byte[] byte1 = {2, 4, 6, 8, 10, 
                       12, 14, 16, 18, 20};
  
            byte[] byte2 = {10, 20, 30, 
                                40, 50};
            
            // calling get() Method
            get(byte1, "byte1");
  
            Console.WriteLine("");
            get(byte2, "byte2");
        }
  
        catch (ArgumentNullException e) {
  
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
  
        catch (FormatException e) {
  
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), 
                                  e.Message);
        }
    }
  
    // Defining get() method
    public static void get(byte[] bytes, string str)
    {
  
        Console.WriteLine("For {0}", str);
  
        // converting byte to base 64 string
        string s = Convert.ToBase64String(bytes);
  
        Console.WriteLine("The base 64 string: '{0}'", s);
        Console.WriteLine("The base 64 string: '{0}'", s);
  
        // converting base 64 string to byte array
        byte[] val = Convert.FromBase64String(s);
        Console.WriteLine("Converted byte value: {0}"
                          BitConverter.ToString(val));
    }
}


Output:

For byte1
The base 64 string: 'AgQGCAoMDhASFA=='
The base 64 string: 'AgQGCAoMDhASFA=='
Converted byte value: 02-04-06-08-0A-0C-0E-10-12-14

For byte2
The base 64 string: 'ChQeKDI='
The base 64 string: 'ChQeKDI='
Converted byte value: 0A-14-1E-28-32

Example 2: For ArgumentNullException




// C# program to demonstrate the
// Convert.FromBase64String(String) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // defining and initializing
            // byte1 and byte2
            byte[] byte1 = {2, 4, 6, 8, 10, 12,
                               14, 16, 18, 20};
  
            // calling get() Method
            get(byte1, "byte1");
            Console.WriteLine("");
  
            // converting base 64 string to byte array
            Console.WriteLine("s is null");
  
            byte[] val = Convert.FromBase64String(null);
            Console.WriteLine("Converted byte value: {0}",
                              BitConverter.ToString(val));
        }
        catch (ArgumentNullException e) {
  
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
        catch (FormatException e) {
  
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
  
    // Defining get() method
    public static void get(byte[] bytes, string str)
    {
  
        Console.WriteLine("For {0}", str);
  
        // converting byte to base 64 string
        string s = Convert.ToBase64String(bytes);
        Console.WriteLine("The base 64 string: '{0}'", s);
  
        // converting base 64 string to byte array
        byte[] val = Convert.FromBase64String(s);
        Console.WriteLine("Converted byte value: {0}"
                          BitConverter.ToString(val));
    }
}


Output:

For byte1
The base 64 string: 'AgQGCAoMDhASFA=='
Converted byte value: 02-04-06-08-0A-0C-0E-10-12-14

s is null
Exception Thrown: System.ArgumentNullException

Example 3: For FormatException




// C# program to demonstrate the
// Convert.FromBase64String(String) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
  
        try {
  
            // defining and initializing 
            // byte1 and byte2
            byte[] byte1 = {2, 4, 6, 8, 10, 
                       12, 14, 16, 18, 20};
  
            // calling get() Method
            get(byte1, "byte1");
            Console.WriteLine("");
  
            // converting base 64 
            // string to byte array
            Console.WriteLine("s contains a non-base-64 character");
  
            byte[] val = Convert.FromBase64String("sun");
            Console.WriteLine("Converted byte value: {0}"
                              BitConverter.ToString(val));
        }
        catch (ArgumentNullException e) {
  
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
        catch (FormatException e) {
  
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
  
    // Defining get() method
    public static void get(byte[] bytes, string str)
    {
  
        Console.WriteLine("For {0}", str);
  
        // converting byte to base 64 string
        string s = Convert.ToBase64String(bytes);
        Console.WriteLine("The base 64 string: '{0}'", s);
  
        // converting base 64 string to byte array
        byte[] val = Convert.FromBase64String(s);
        Console.WriteLine("Converted byte value: {0}",
                           BitConverter.ToString(val));
    }
}


Output:

For byte1
The base 64 string: 'AgQGCAoMDhASFA=='
Converted byte value: 02-04-06-08-0A-0C-0E-10-12-14

s contains a non-base-64 character
Exception Thrown: System.FormatException

Reference:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads