C# | Convert.FromBase64String(String) Method
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:
- https://docs.microsoft.com/en-us/dotnet/api/system.convert.frombase64string?view=netframework-4.7.2