我向我的方法传递一个参数,其中该参数的数据类型是字符串,但该字符串是二进制类型“UEsDBBQABgAIAAAAIQDfz5sukgEAAJQGAAATANwBW0NvbnRlbnRfVHlwZ”,例如,然后该参数将被写入excel格式。问题是,该文件可以创建,但由于格式无效而损坏。输入参数来自 Excel 文件,但以二进制形式读取。
我的示例代码是:
public void writeFile(String fileContent)
{
// Write the string to a file.
StreamWriter file = new StreamWriter("c:\\test2.xlsx");
BinaryWriter bw = new BinaryWriter(file);
bw.Write(fileContent);
bw.Close();
file.Close();
}
Run Code Online (Sandbox Code Playgroud)
谢谢。
二进制数据不能按原样作为文本/字符串发送或使用它们,原因是有些二进制数无法用文本字符表示 - 同时某些二进制数在字符串中具有不同的含义。
您可以做的就是使用以下之一将其转换为字符串
然后将其转换回二进制
asp.net 已准备好Convert.ToBase64String进行Convert.FromBase64String转换。
来自 asp.net 的转换函数:
http://msdn.microsoft.com/en-us/library/dhx0d524.aspx
http://msdn.microsoft.com/en-us/library/system.convert.frombase64string.aspx
自定义转换示例
http://www.csharp411.com/convert-binary-to-base64-string/
| 归档时间: |
|
| 查看次数: |
2172 次 |
| 最近记录: |