次の方法で共有


Convert.FromBase64String メソッド

base 64 の数字で構成される指定した String 形式の値を等価の 8 ビット符号なし整数の配列に変換します。

Public Shared Function FromBase64String( _
   ByVal s As String _) As Byte()
[C#]
public static byte[] FromBase64String(strings);
[C++]
public: static unsigned char FromBase64String(String* s)  __gc[];
[JScript]
public static function FromBase64String(
   s : String) : Byte[];

パラメータ

戻り値

s と等価の 8 ビット符号なし整数の配列。

例外

例外の種類 条件
ArgumentNullException s が null 参照 (Visual Basic では Nothing) です。
FormatException 空白文字を除いた s の長さが 4 未満です。

または

空白文字を除いた s の長さが 4 の倍数ではありません。

解説

s は、Base64 形式の文字、および空白文字で構成されます。ただし、それらの文字の後に、適切な長さになるように文字が埋め込まれます。Base64 形式の文字を 0 から昇順で並べると、大文字の 'A' ~ 'Z'、小文字の 'a' ~ 'z'、数字の '0' ~ '9'、および '+' と '/' の記号になります。

空白文字とは、タブ、空白、キャリッジ リターン、および改行のことを指します。空白文字はすべて無視されるため、任意の数の空白文字を s に含めることができます。

値として解釈されない文字 '=' は、文字列末尾の埋め込み用に使用されます。 s の末尾は、1 つまたは 2 つの埋め込み文字で構成されます。

使用例

[Visual Basic, C#, C++] FromBase64String メソッドを使用して、UU エンコードされた (base 64 形式) データをデコードし、バイナリ出力として保存する方法を次の例に示します。

 
Public Sub DecodeWithString()
   Dim inFile As System.IO.StreamReader
   Dim base64String As String

   Try
      Dim base64CharArray() As Char
      inFile = New System.IO.StreamReader(inputFileName, _
                                          System.Text.Encoding.ASCII)
      base64CharArray = New Char(inFile.BaseStream.Length) {}
      inFile.Read(base64CharArray, 0, inFile.BaseStream.Length)
      base64String = New String(base64CharArray, _
                                0, _
                                base64CharArray.Length - 1)
   Catch exp As System.Exception
      ' Error creating stream or reading from it.
      System.Console.WriteLine("{0}", exp.Message)
      Return
   End Try

   ' Convert the Base64 UUEncoded input into binary output.
   Dim binaryData() As Byte
   Try
      binaryData = System.Convert.FromBase64String(base64String)
   Catch exp As System.ArgumentNullException
      System.Console.WriteLine("Base 64 string is null.")
      Return
   Catch exp As System.FormatException
      System.Console.WriteLine("Base 64 length is not 4 or is " + _
                               "not an even multiple of 4.")
      Return
   End Try

   'Write out the decoded data.
   Dim outFile As System.IO.FileStream
   Try
      outFile = New System.IO.FileStream(outputFileName, _
                                         System.IO.FileMode.Create, _
                                         System.IO.FileAccess.Write)
      outFile.Write(binaryData, 0, binaryData.Length - 1)
      outFile.Close()
   Catch exp As System.Exception
      ' Error creating stream or writing to it.
      System.Console.WriteLine("{0}", exp.Message)
   End Try
End Sub

[C#] 
public void DecodeWithString() {
    System.IO.StreamReader inFile;     
    string base64String;

    try {
        char[] base64CharArray;
        inFile = new System.IO.StreamReader(inputFileName,
                                        System.Text.Encoding.ASCII);
        base64CharArray = new char[inFile.BaseStream.Length];
        inFile.Read(base64CharArray, 0, (int)inFile.BaseStream.Length);
        base64String = new string(base64CharArray);
    }
    catch (System.Exception exp) {
        // Error creating stream or reading from it.
        System.Console.WriteLine("{0}", exp.Message);
        return;
    }

    // Convert the Base64 UUEncoded input into binary output.
    byte[] binaryData;
    try {
        binaryData = 
            System.Convert.FromBase64String(base64String);
    }
    catch (System.ArgumentNullException) {
        System.Console.WriteLine("Base 64 string is null.");
        return;
    }
    catch (System.FormatException) {
        System.Console.WriteLine("Base 64 string length is not " +
            "4 or is not an even multiple of 4." );
        return;
    }

    // Write out the decoded data.
    System.IO.FileStream outFile;
    try {
        outFile = new System.IO.FileStream(outputFileName,
                                           System.IO.FileMode.Create,
                                           System.IO.FileAccess.Write);
        outFile.Write(binaryData, 0, binaryData.Length);
        outFile.Close();
    }
    catch (System.Exception exp) {
        // Error creating stream or writing to it.
        System.Console.WriteLine("{0}", exp.Message);
    }
}

[C++] 
public:
   void DecodeWithString() {
      StreamReader* inFile;     
      String* base64String;

      try {
         Char base64CharArray[];
         inFile = new StreamReader(inputFileName,
            Text::Encoding::ASCII);
         base64CharArray = new Char[(int)(inFile->BaseStream->Length)];
         inFile->Read(base64CharArray, 0, (int)inFile->BaseStream->Length);
         base64String = new String(base64CharArray);
      } catch (Exception* exp) {
         // Error creating stream or reading from it.
         Console::WriteLine(S" {0}", exp->Message);
         return;
      }

      // Convert the Base64 UUEncoded input into binary output.
      Byte binaryData[];
      try {
         binaryData = 
            Convert::FromBase64String(base64String);
      } catch (ArgumentNullException*) {
         Console::WriteLine(S"Base 64 String* is null.");
         return;
      } catch (FormatException*) {
         Console::WriteLine(S"Base 64 String* length is not 4 or is not an even multiple of 4.");
         return;
      }

      // Write out the decoded data.
      FileStream* outFile;
      try {
         outFile = new FileStream(outputFileName,
            FileMode::Create,
            FileAccess::Write);
         outFile->Write(binaryData, 0, binaryData->Length);
         outFile->Close();
      } catch (Exception* exp) {
         // Error creating stream or writing to it.
         Console::WriteLine(S" {0}", exp->Message);
      }
   }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

Convert クラス | Convert メンバ | System 名前空間