JavaScript二进制长度



我正在尝试解码JavaScript中的种子文件,长度不太好。

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方法没有返回二进制文件。

我怎么能得到一些类似的东西,file_get_contents($filename, FILE_BINARY)在JavaScript?

您可以将processData开关设置为false:

$.ajax({
    url: path,
    processData: false,
    success: function (data) {
        console.log(data.length);
    }
});

现在,jQuery不会尝试智能并根据服务器返回的Content-Type响应头自动解析数据,但它会将其作为原始数据传递给成功回调。显然,在javascript中处理二进制数据并不是这种语言设计的目的。对于HTML5,有一些不错的添加。

还值得一提的是,调用.length从服务器收到的一些二进制数据可能没有多大意义,机会是你会得到一个javascript错误,因为这个属性没有定义。

相关内容

  • 没有找到相关文章

最新更新