byte[] temp1 = new [100];
byte[] temp2 = new [50];
,,,,,,,
初始化后!!
如何相加起来变成一个字节数组???
byte[] temp3是temp1+temp2?????????
8 个解决方案
#1
笨法子:
byte[] temp1 = new byte[100];
byte[] temp2 = new byte[50];
,,,,,,,
byte[] bt = new byte[temp1.Length + temp2.Length];
Buffer.BlockCopy(temp1, 0, bt, 0, temp1.Length);
Buffer.BlockCopy(temp2, 0, bt, temp1.Length, temp2.Length);
byte[] temp1 = new byte[100];
byte[] temp2 = new byte[50];
,,,,,,,
byte[] bt = new byte[temp1.Length + temp2.Length];
Buffer.BlockCopy(temp1, 0, bt, 0, temp1.Length);
Buffer.BlockCopy(temp2, 0, bt, temp1.Length, temp2.Length);
#2
先赋到String中,加起来,再回到Byte[]
#3
byte[] temp1 = new byte [100];
byte[] temp2 = new byte [50];
byte[] temp3 = new byte[150];
Array.Copy(temp1,temp3, temp1.Length);
Array.Copy(temp2,0,temp3,temp1.Length,temp2.Length);
byte[] temp2 = new byte [50];
byte[] temp3 = new byte[150];
Array.Copy(temp1,temp3, temp1.Length);
Array.Copy(temp2,0,temp3,temp1.Length,temp2.Length);
#4
如果从速度考虑,Buffer是最好的,它直接对地址进行操作。
#5
5555555
楼上各位好心人们!
问题我这字节是通过流读取的呀!
在循环里呀!
while(,,,)
{
br.Read(buffer,.....);
}
现在的问题是我要把buffer里的这些字节数组给加起来!然后写入数据库!5555麻烦呀!
楼上各位好心人们!
问题我这字节是通过流读取的呀!
在循环里呀!
while(,,,)
{
br.Read(buffer,.....);
}
现在的问题是我要把buffer里的这些字节数组给加起来!然后写入数据库!5555麻烦呀!
#6
当然可以直接把所有的字节流一起读完赋给一个byte[],
可在页面下载期间我还得设置进度条的值呀!
一口气读完所有字节的话。进度条的值就不知道如何设置了呀!:(
可在页面下载期间我还得设置进度条的值呀!
一口气读完所有字节的话。进度条的值就不知道如何设置了呀!:(
#7
用这个方法也可以解决呀,只是很慢。
你也可以考虑把buffer建得足够大(br的长度),一次读完。
buffer = new byte[br.BaseStream.Length];
br.Read(buffer, 0, buffer.Length);
也可以用ArrayList来解决。
ArrayList list = new ArrayList(1024);
while (...){
br.Read(buffer...);
list.AddRange(buffer);//buffer所有的数据都会存到ArrayList。
}
byte[] res = (byte[]) list.ToArray(typeof(byte));
还可以用StringBuilder。
StringBuilder sb = new StringBuilder(1024);
System.Text.Encoding unicode = System.Text.Encoding.Unicode;
while(...){
br.Read(buffer...);
sb.Append(unicode.GetString(buffer...));//可以定义数目,也可以整个buffer。
}
byte[] res = unicode.GetBytes(sb.ToString());
你也可以考虑把buffer建得足够大(br的长度),一次读完。
buffer = new byte[br.BaseStream.Length];
br.Read(buffer, 0, buffer.Length);
也可以用ArrayList来解决。
ArrayList list = new ArrayList(1024);
while (...){
br.Read(buffer...);
list.AddRange(buffer);//buffer所有的数据都会存到ArrayList。
}
byte[] res = (byte[]) list.ToArray(typeof(byte));
还可以用StringBuilder。
StringBuilder sb = new StringBuilder(1024);
System.Text.Encoding unicode = System.Text.Encoding.Unicode;
while(...){
br.Read(buffer...);
sb.Append(unicode.GetString(buffer...));//可以定义数目,也可以整个buffer。
}
byte[] res = unicode.GetBytes(sb.ToString());
#8
还可以用StringBuilder。
StringBuilder sb = new StringBuilder(1024);
System.Text.Encoding unicode = System.Text.Encoding.Unicode;
while(...){
br.Read(buffer...);
sb.Append(unicode.GetString(buffer...));//可以定义数目,也可以整个buffer。
}
byte[] res = unicode.GetBytes(sb.ToString());
谢谢!我就用的这个解决的:)
谢谢楼上
StringBuilder sb = new StringBuilder(1024);
System.Text.Encoding unicode = System.Text.Encoding.Unicode;
while(...){
br.Read(buffer...);
sb.Append(unicode.GetString(buffer...));//可以定义数目,也可以整个buffer。
}
byte[] res = unicode.GetBytes(sb.ToString());
谢谢!我就用的这个解决的:)
谢谢楼上
#1
笨法子:
byte[] temp1 = new byte[100];
byte[] temp2 = new byte[50];
,,,,,,,
byte[] bt = new byte[temp1.Length + temp2.Length];
Buffer.BlockCopy(temp1, 0, bt, 0, temp1.Length);
Buffer.BlockCopy(temp2, 0, bt, temp1.Length, temp2.Length);
byte[] temp1 = new byte[100];
byte[] temp2 = new byte[50];
,,,,,,,
byte[] bt = new byte[temp1.Length + temp2.Length];
Buffer.BlockCopy(temp1, 0, bt, 0, temp1.Length);
Buffer.BlockCopy(temp2, 0, bt, temp1.Length, temp2.Length);
#2
先赋到String中,加起来,再回到Byte[]
#3
byte[] temp1 = new byte [100];
byte[] temp2 = new byte [50];
byte[] temp3 = new byte[150];
Array.Copy(temp1,temp3, temp1.Length);
Array.Copy(temp2,0,temp3,temp1.Length,temp2.Length);
byte[] temp2 = new byte [50];
byte[] temp3 = new byte[150];
Array.Copy(temp1,temp3, temp1.Length);
Array.Copy(temp2,0,temp3,temp1.Length,temp2.Length);
#4
如果从速度考虑,Buffer是最好的,它直接对地址进行操作。
#5
5555555
楼上各位好心人们!
问题我这字节是通过流读取的呀!
在循环里呀!
while(,,,)
{
br.Read(buffer,.....);
}
现在的问题是我要把buffer里的这些字节数组给加起来!然后写入数据库!5555麻烦呀!
楼上各位好心人们!
问题我这字节是通过流读取的呀!
在循环里呀!
while(,,,)
{
br.Read(buffer,.....);
}
现在的问题是我要把buffer里的这些字节数组给加起来!然后写入数据库!5555麻烦呀!
#6
当然可以直接把所有的字节流一起读完赋给一个byte[],
可在页面下载期间我还得设置进度条的值呀!
一口气读完所有字节的话。进度条的值就不知道如何设置了呀!:(
可在页面下载期间我还得设置进度条的值呀!
一口气读完所有字节的话。进度条的值就不知道如何设置了呀!:(
#7
用这个方法也可以解决呀,只是很慢。
你也可以考虑把buffer建得足够大(br的长度),一次读完。
buffer = new byte[br.BaseStream.Length];
br.Read(buffer, 0, buffer.Length);
也可以用ArrayList来解决。
ArrayList list = new ArrayList(1024);
while (...){
br.Read(buffer...);
list.AddRange(buffer);//buffer所有的数据都会存到ArrayList。
}
byte[] res = (byte[]) list.ToArray(typeof(byte));
还可以用StringBuilder。
StringBuilder sb = new StringBuilder(1024);
System.Text.Encoding unicode = System.Text.Encoding.Unicode;
while(...){
br.Read(buffer...);
sb.Append(unicode.GetString(buffer...));//可以定义数目,也可以整个buffer。
}
byte[] res = unicode.GetBytes(sb.ToString());
你也可以考虑把buffer建得足够大(br的长度),一次读完。
buffer = new byte[br.BaseStream.Length];
br.Read(buffer, 0, buffer.Length);
也可以用ArrayList来解决。
ArrayList list = new ArrayList(1024);
while (...){
br.Read(buffer...);
list.AddRange(buffer);//buffer所有的数据都会存到ArrayList。
}
byte[] res = (byte[]) list.ToArray(typeof(byte));
还可以用StringBuilder。
StringBuilder sb = new StringBuilder(1024);
System.Text.Encoding unicode = System.Text.Encoding.Unicode;
while(...){
br.Read(buffer...);
sb.Append(unicode.GetString(buffer...));//可以定义数目,也可以整个buffer。
}
byte[] res = unicode.GetBytes(sb.ToString());
#8
还可以用StringBuilder。
StringBuilder sb = new StringBuilder(1024);
System.Text.Encoding unicode = System.Text.Encoding.Unicode;
while(...){
br.Read(buffer...);
sb.Append(unicode.GetString(buffer...));//可以定义数目,也可以整个buffer。
}
byte[] res = unicode.GetBytes(sb.ToString());
谢谢!我就用的这个解决的:)
谢谢楼上
StringBuilder sb = new StringBuilder(1024);
System.Text.Encoding unicode = System.Text.Encoding.Unicode;
while(...){
br.Read(buffer...);
sb.Append(unicode.GetString(buffer...));//可以定义数目,也可以整个buffer。
}
byte[] res = unicode.GetBytes(sb.ToString());
谢谢!我就用的这个解决的:)
谢谢楼上