[英]JavaScript bencode binary length
我正在尝试使用JavaScript解码torrent文件,但长度不好。
path = "file.torrent";
$.ajax({
url: path,
success: function (data) {
console.log(data.length);
}
});
我在PHP中做过同样的事情,但长度有所不同。
$f=file_get_contents($filename, FILE_BINARY);
var_dump(strlen($f));
我认为ajax方法不会返回二进制文件。
如何在JavaScript中获得与file_get_contents($ filename,FILE_BINARY)类似的东西?
您可以将processData
开关设置为false:
$.ajax({
url: path,
processData: false,
success: function (data) {
console.log(data.length);
}
});
现在,jQuery将不再尝试变得智能,并根据服务器返回的Content-Type响应标头自动解析数据,但是它将原始数据传递给成功回调。 显然,使用javascript处理二进制数据并不是为此语言设计的。 有了HTML5,尽管有一些不错的添加。
另外值得一提的是,对从服务器接收到的某些二进制数据调用.length
可能没有多大意义,并且由于未定义此属性,因此很可能会出现JavaScript错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.