有经验的朋友进来帮个忙,关于c# byte[]型数组转换成字符串 需求是 从客户端上传一个1M大小的文件, 然后压成byte[]型数组,传到服务器上。那么服务器如何把这个byte[]解析成原来的那个1M文件,然后在服务器上生成这个文件。请大家帮帮忙 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是什么格式的文件? 是二进制的还是文本?如果是二进制的,需要按照特定的格式转换,如果是文本,可以考虑用下面的函数。然后再写入文件。但是一个1mb的byte[]转换起来会很慢的。 /// <summary> /// 字节数组中从0开始的某一固定长度内容转为字符串 /// </summary> /// <param name="bytes">要转换的字节数组</param> /// <param name="size">要转换的长度</param> /// <returns>转换后的字符串</returns> public static string ByteToHexStr(byte[] bytes, int size) { StringBuilder sb = new StringBuilder(); if (bytes != null) { for (int i = 0; i < size; i++) { sb.append(bytes[i].ToString()); } } return sb.toString(); } System.IO.FileStream fs = new System.IO.FileStream("");//新文件 //byte[] bs;内容 fs.Write(bs, 0, bs.Length); fs.Close(); System.IO.FileStream fs = System.IO.File.Create("文件名");//新文件 //byte[] bs;内容 fs.Write(bs, 0, bs.Length); fs.Close(); Convert.ToBase64String(byte[]) 你要看一下,你的byte[]是什么编码的,是UTF-8还是ASCII还是GBK,或是BASE64?如果是字符串编码的话,就可以用Encoding.UTF8.GetString(byte类型的数组) 晕,哪有那么复杂:(using System.IO;)File.ReadAllBytes, File.WriteAllBytes 就都搞定了。 扩展Label控件奇怪问题-字被截掉了 如何根据数字获取到枚举类型。 关于web表单自动填写问题 asp.net 打印image控件显示的图片 Log4net动态指定文件名后,MaximumFileSize不好用了 C#读取网页出问题!! datagrid中求值计算 思考数据绑定有感 请教制作安装包的问题!用.net2003自带的安装部署程序制作,如何运行自定义的.bat文件? 一个"CS0234:是否缺少程序集引用"的错误! asp.net网站调用c++写的dll操作数据库,怎么调试? 多表查询问题
/// 字节数组中从0开始的某一固定长度内容转为字符串
/// </summary>
/// <param name="bytes">要转换的字节数组</param>
/// <param name="size">要转换的长度</param>
/// <returns>转换后的字符串</returns>
public static string ByteToHexStr(byte[] bytes, int size)
{
StringBuilder sb = new StringBuilder();
if (bytes != null)
{
for (int i = 0; i < size; i++)
{
sb.append(bytes[i].ToString());
} }
return sb.toString();
}
//byte[] bs;内容
fs.Write(bs, 0, bs.Length);
fs.Close();
//byte[] bs;内容
fs.Write(bs, 0, bs.Length);
fs.Close();
Convert.ToBase64String(byte[])
还是GBK,或是BASE64?如果是字符串编码的话,就可以用Encoding.UTF8.GetString(byte类型的数组)
(using System.IO;)
File.ReadAllBytes, File.WriteAllBytes 就都搞定了。