vim - .torrent 文件包含乱码

标签 vim bittorrent torrent

有人可以解释一下每个 .torrent 文件末尾的乱码吗?

The gibberish torrent

图片显示了可以理解的信息以及仅一部分乱码部分。看起来可理解的部分在我画的粉红色管道处突然结束了。

顺便说一句,我在 VIM 中使用 UTF-8 编码查看它,如果我没记错的话,torrent 文件应该使用该编码。

最佳答案

您引用的数据是键为pieces的字典条目的值。 6:pieces129140:在您标记的位置之前表明该条目的 key 长度为6个字符,这使我们可以确定该 key 是pieces129140键后面的是条目值的长度(以字节为单位)。该数据结构是 bencoding 的结果.

pieces .torrent 中的字典条目文件包含连接成一个长字符串的所有片段的 SHA1 哈希值。哈希很重要,因为它们允许用户确保他们下载的片段是有效的。对各个片段使用哈希值比仅对整个文件使用哈希值要好,因为它减少了数据浪费;在您的客户意识到数据无效之前,您不必下载整个文件。

SHA1 哈希由 20 个字节组成,它们作为原始字节存储在 .torrent 中文件。这就是数据在编辑器中显示格式错误的原因。

pieces maps to a string whose length is a multiple of 20. It is to be subdivided into strings of length 20, each of which is the SHA1 hash of the piece at the corresponding index.

取自 this BitTorrent 协议(protocol)规范文档。

关于vim - .torrent 文件包含乱码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24414026/

相关文章:

vim - 使用 vim 删除 div 中的新行

git - git 提交消息的 vim 语法突出显示 - 自定义 commentchar

java - 如何在 Java 中抓取 udp BitTorrent 跟踪器?

json - 使用 Kickass Json api 请求有关特定 torrent 的详细信息

Flutter 插件下载种子

regex - Vim:使用多种模式排序

vim - 在 Vim 中撤消光标移动

bittorrent - 启用 DHT 时,是否每个对等点都需要成为 BitTorrent 中的节点?

p2p - 为什么我在 find_node 响应消息中修改了 Compact node info 不是 26 字节?

python - 如何从 Torrent 文件中删除某些不需要的文件?