C# | Convert.FromBase64String(String) Method - GeeksforGeeks

01 Feb, 2019
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) Methodusing 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));    }}
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) Methodusing 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));    }}
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) Methodusing 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));    }}
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:
https://docs.microsoft.com/en-us/dotnet/api/system.convert.frombase64string?view=netframework-4.7.2
CSharp Convert Class
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Destructors in C#
Extension Method in C#
HashSet in C# with Examples
Top 50 C# Interview Questions & Answers
C# | How to insert an element in an Array?
Partial Classes in C#
C# | Inheritance
C# | List Class
Difference between Hashtable and Dictionary in C#
Lambda Expressions in C#