注册 登录
编程论坛 ASP技术论坛

新手问字符串函数问题

爬爬虫 发布于 2008-08-15 08:57, 597 次点击
字串GIF89a明明在里面,但是instr返回0. 程序如下:

 imageStr=cstr(rs("image2")): ln=lenb(imageStr)
 bg2=instrb(1,imageStr,"GIF89a",0)
 response.write ln&"<br>": response.write bg2&"<br>"
 Response.binaryWrite imageStr

image2是access数据库里的gif图片的OLE包。输出如下:
--------------
1911
0
“........... 包Package....test.GIFtest.GIF?GIF89aC
1 回复
#2
爬爬虫2008-08-15 11:19
字符有相同输出但是不同编码吗?
更晕了,求高手指点。自己编个查字串GIF89a,一个个取字符比较。竟然遇到"G"不承认是"G"。高手救命啊!
    Function gifContent(OlePackage)
        dim tmpStr,i
        gifContent=0
        for i=1 to lenb(OlePackage)-6
            tmpStr=midb(OlePackage,i,1)
            if tmpStr="G" then
                tmpStr=midb(OlePackage,i,1)
                if tempStr="I" then
                    tmpStr=midb(OlePackage,i,1)
                    if tempStr="F" then
                        tmpStr=midb(OlePackage,i,1)
                        if tempStr="8" then
                            tmpStr=midb(OlePackage,i,1)
                            if tempStr="7" or tempStr="9"  then
                                tmpStr=midb(OlePackage,i,1)
                                if tempStr="a" then
                                    gifContent=i-6
                                end if
                            end if
                        end if
                    end if
                end if
            end if
            'if gifContent>0 then exit for
            if i=133 then
                response.write "<br>"&tmpstr                           '这句输出个G
                if tmpstr<>"G" then response.write "<br>"&"不等于"     '这句输出个 不等于!
            end if
        next
    End Function
1