gpt4 book ai didi

JavaScript bencode 二进制长度

转载 作者:行者123 更新时间:2023-11-30 06:36:37 29 4
gpt4 key购买 nike

我正在尝试用 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 响应 header 自动解析数据,但它会将其作为原始数据传递给成功回调。显然,在 javascript 中处理二进制数据并不是这种语言的设计目的。不过,对于 HTML5,有一些不错的补充。

另外值得一提的是,对您从服务器收到的某些二进制数据调用 .length 可能没有多大意义,而且您可能会收到 javascript 错误,因为此属性未定义。

关于JavaScript bencode 二进制长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14012608/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com