vb中如何从一个数组中截取指定长度的数据?

是这样的,我用winsock控件接收HTTP上传来的文件,数据类型设为byteDimDataRecByte()AsBytewinsock1.GetDataDataRecB... 是这样的,我用 winsock控件接收HTTP上传来的文件,数据类型设为byte
Dim DataRecByte() As Byte
winsock1.GetData DataRecByte
那么,在接收到的DataRecByte中,就包含了HTTP头信息,其中有文件长度的定义,现在可以提取出这些头信息了,但问题是,剩下的部分就是文件内容了,这部分该如何截取呢?
它们和HTTP头都在一个DataRecByte数组里面。如何分割?
展开
 我来答
money0_04c351c2
2012-07-27 · TA获得超过4142个赞
知道大有可为答主
回答量:5505
采纳率:49%
帮助的人:1616万
展开全部
你先把它转为字符串,处理起来就简单了。 用 Split 函数分割。
追问
如果是接收文本文件,转字符串可以处理,但是如果接收的是图片或其它非文本文件,用字符串方式处理会变成乱码.
追答
如果是处理二进制数据的话,在 VB.net 中可以用 Array.Copy 从 Byte() 中截取特定部分产生新的 Byte()。如果是 VB6 的话,还是循环取值吧。用 CopyMem 操作起来有一定风险。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
十六夜里的水田
2012-07-27 · TA获得超过1829个赞
知道小有建树答主
回答量:763
采纳率:0%
帮助的人:521万
展开全部
用copymemory
追问
试过这个,但返回的文件打开后仍是乱码.
另,winsock1.GetData Dbyte
用len(Dbyte)返回的长度和下面的
UBound(Dbyte) - LBound(Dbyte) + 1 返回的长度

两个长度不一样,不知是否正常?
追答
改成lenb(Dbyte)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式