当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C# Convert.FromBase64String(String)用法及代码示例


此方法用于将指定的字符串转换为等效的8位无符号整数数组,该字符串将二进制数据编码为64位基数。

用法:

public static byte[] FromBase64String (string s);

此处,s是要转换的字符串。


返回值:此方法返回一个等效于s的8位无符号整数数组。

异常

  • ArgumentNullException:如果s为null。
  • FormatException:如果s的长度(不考虑空格字符)不是零或4的倍数,或者s的格式无效。 s包含非base-64字符,两个以上的填充字符或填充字符中的非空白字符。

以下示例程序旨在说明Convert.FromBase64String(String)方法的用法:

示例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)); 
    } 
}
输出:
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

示例2:对于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)); 
    } 
}
输出:
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

示例3:对于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)); 
    } 
}
输出:
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

参考:



相关用法


注:本文由纯净天空筛选整理自RohitPrasad3大神的英文原创作品 C# | Convert.FromBase64String(String) Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。