バイト型配列からBase64形式の文字列にエンコードするには、ConvertクラスのToBase64Stringメソッドを使います。
下の例では、まずinFileNameで指定されたファイルを読み込んでその内容をBase64形式の文字列にして出力しています。なお、「Convert.ToBase64String メソッド」にも同じような例がありますので、そちらも参考にしてください。
'Base64で文字列に変換するファイル Dim inFileName As String = "C:\test.zip" Dim inFile As System.IO.FileStream Dim bs() As Byte 'ファイルをbyte型配列としてすべて読み込む inFile = New System.IO.FileStream(inFileName, _ System.IO.FileMode.Open, System.IO.FileAccess.Read) ReDim bs(inFile.Length - 1) Dim readBytes As Long = inFile.Read(bs, 0, inFile.Length) inFile.Close() 'Base64で文字列に変換 Dim base64String As String base64String = System.Convert.ToBase64String(bs) '結果を表示 Console.WriteLine(base64String)
//Base64で文字列に変換するファイル string inFileName = @"C:\test.zip"; System.IO.FileStream inFile; byte [] bs; //ファイルをbyte型配列としてすべて読み込む inFile = new System.IO.FileStream(inFileName, System.IO.FileMode.Open, System.IO.FileAccess.Read); bs = new byte [inFile.Length]; int readBytes = inFile.Read(bs, 0, (int) inFile.Length); inFile.Close(); //Base64で文字列に変換 string base64String; base64String = System.Convert.ToBase64String(bs); //結果を表示 Console.WriteLine(base64String);
逆にデコードするには、FromBase64Stringメソッドを使います。下の例では、TextBox1に入力されたBase64形式の文字列をoutFileNameで指定されたファイルに書き出します。
'Base64でバイト型配列に戻す文字列 Dim s As String = TextBox1.Text 'バイト型配列に戻す Dim bs() As Byte = System.Convert.FromBase64String(s) 'ファイルに保存する '保存するファイル名 Dim outFileName As String = "C:\test.dat" 'ファイルに書き込む Dim outFile As New System.IO.FileStream(outFileName, _ System.IO.FileMode.Create, System.IO.FileAccess.Write) outFile.Write(bs, 0, bs.Length) outFile.Close()
//Base64でバイト型配列に戻す文字列 string s = TextBox1.Text; //バイト型配列に戻す byte [] bs = System.Convert.FromBase64String(s); //ファイルに保存する //保存するファイル名 string outFileName = @"C:\test.dat"; //ファイルに書き込む System.IO.FileStream outFile = new System.IO.FileStream(outFileName, System.IO.FileMode.Create, System.IO.FileAccess.Write); outFile.Write(bs, 0, bs.Length); outFile.Close();