有人可以解释一下每个 .torrent
文件末尾的乱码吗?
图片显示了可以理解的信息以及仅一部分乱码部分。看起来可理解的部分在我画的粉红色管道处突然结束了。
顺便说一句,我在 VIM 中使用 UTF-8 编码查看它,如果我没记错的话,torrent 文件应该使用该编码。
最佳答案
您引用的数据是键为pieces
的字典条目的值。 6:pieces129140:
在您标记的位置之前表明该条目的 key 长度为6个字符,这使我们可以确定该 key 是pieces
。 129140
键后面的是条目值的长度(以字节为单位)。该数据结构是 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/