我几天前问过这个问题,但似乎很快就冷了下来。我想做的事情非常简单,我不敢相信有人还没有弄清楚。
解决方案需要是 JScript 经典 ASP。我正在从远程服务器读取一个文件,我想在我的服务器上处理该(二进制)文件并将结果以 XML 形式返回给客户端。
这是我正在尝试做的事情的简化版本。该代码将运行,或者如果您的网站填写了 URL,则该代码将会运行。该测试文件是readbin.asp。它读取名为 test.bin 的文件,并将结果写入流。我使用流是因为这样可以更轻松地读取文件并解析内容。基本上我想:
while not end of stream
read byte from stream
process byte
这是readbin.asp:
<%@ LANGUAGE = JScript %>
<%
var url = "http:// (... your URL to the file test.bin goes here...) " ;
var xmlhttp = Server.CreateObject ("MSXML2.ServerXMLHTTP") ;
xmlhttp.open ("GET", url, false) ;
xmlhttp.send () ;
var BinaryInputStream = Server.CreateObject ("ADODB.Stream") ;
BinaryInputStream.Type = 1 ; // binary
BinaryInputStream.Open ;
BinaryInputStream.Write (xmlhttp.responseBody) ;
BinaryInputStream.Position = 0 ;
Response.Write ("BinaryInputStream.size = " + BinaryInputStream.size + "<br>") ;
Response.Write ("BinaryInputStream = " + BinaryInputStream + "<br>") ;
var ByteValue = BinaryInputStream.read (1) ;
Response.Write ("ByteValue = " + ByteValue + "<br>") ;
Response.Write ("typeof (ByteValue) = " + typeof (ByteValue) + "<br>") ;
%>
我的问题是:如何获取 ByteValue 作为数字 0..255? typeof (ByteValue) 是“未知”。
奥德??字节()??上升??科罗??
您可能想看一下这段代码:http://docs.hyperweb.no/source/asplib1.2/util/fileupload.asp http://docs.hyperweb.no/source/asplib1.2/util/fileupload.asp
该代码用于处理上传的文件。确实非常相似:
- 在第 224 行,二进制请求被读入流对象。
- 在第 232 行,数据被读回为 ISO-8859-1 文本,这几乎就是你想要的
- 然后,您可以使用第 48 行的 getByte() 函数读取该字符串的每个字节。
此函数使用第 33 行的查找表来修复转换为 unicode 的某些字符。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)