
编程中有时候需要把2进制文件作为文本来处理, 下面的代码实现直接读取一个2进制文件,保存为BASE64格式的文本
/// <summary>
/// 读取文件编码为BASE64
/// </summary>
/// <param name="FilePathX">需要转换的文件路径</param>
public String EncodeWithString(String FilePathX)
{
System.IO.FileStream inFile;
byte[] binaryData;
try
{
inFile = new System.IO.FileStream(FilePathX,
System.IO.FileMode.Open,
System.IO.FileAccess.Read);
binaryData = new Byte[inFile.Length];
long bytesRead = inFile.Read(binaryData, 0,
(int)inFile.Length);
inFile.Close();
}
catch (System.Exception exp)
{
// Error creating stream or reading from it.
System.Console.WriteLine("{0}", exp.Message);
return "Error";
}
// Convert the binary input into Base64 UUEncoded output.
string base64String;
try
{
base64String =
System.Convert.ToBase64String(binaryData,
0,
binaryData.Length);
return base64String;
}
catch (System.ArgumentNullException)
{
System.Console.WriteLine("Binary data array is null.");
return "Error";
}
}