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
String 。
戻り値
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