Bencode 编码器 / 解码器
指导
Bencode 编码器 / 解码器
即时将 JSON 编码为 Bencode 格式或将 Bencode 解码回 JSON。Bencode 是 BitTorrent 用于 .torrent 文件和 DHT 协议的序列化格式。粘贴 Bencode 输入以将其解码为可读的 JSON,或粘贴 JSON 以将其编码为紧凑的 Bencode — 全部在客户端完成,不传输任何数据。
如何使用
选择您的方向 (Bencode → JSON 或 JSON → Bencode),粘贴您的输入,结果即时显示。使用内置示例查看真实 .torrent 文件结构解码为 JSON。
特征
- 双向转换 – Bencode 到 JSON 和 JSON 到 Bencode
- 完整的类型支持 – 整数、字节字符串、列表和字典
- 示例预设 – 真实的 .torrent 文件结构供参考
- 实时输出 – 在您键入时进行转换
- 仅客户端 – 您的数据绝不离开浏览器
常问问题
-
什么是 Bencode 以及为什么 BitTorrent 使用它?
Bencode 是 Bram Cohen 为 BitTorrent 设计的一种简单的序列化格式。它编码四种类型:字节字符串 (4:spam)、整数 (i42e)、列表 (l...e) 和字典 (d...e)。BitTorrent 使用它是因为 .torrent 元信息文件和 DHT 消息 — 它无歧义(不像 JSON 对数字那样存在编码歧义)、紧凑且易于在任何语言中解析,无需库。
-
Bencode 如何编码不同数据类型?
Bencode 将整数编码为 ie (例如,i42e),字节字符串编码为 : (例如,4:spam),列表编码为 le,字典编码为 de,其中键必须是按排序顺序排列的字节字符串。支持任意嵌套。没有原生的布尔值或浮点数类型 — 布尔值表示为整数 (0/1),浮点数通常存储为字符串。
-
一个 .torrent 文件包含哪些信息?
一个 .torrent 文件是一个 Bencoded 字典,包含:跟踪器的 announce URL,一个包含种子名称、片段长度、所有片段的 SHA-1 哈希值的 info 字典,以及单个文件长度或文件列表(包含路径和长度)。可选字段包括 announce-list(备用跟踪器)、creation date、comment 和 created-by。Magnet 链接将其中一部分内容编码为 URI。
-
Bencode 可以处理二进制数据吗?
可以。Bencode 字节字符串是原始二进制序列,前面加上它们的字节长度。这就是为什么 .torrent 文件将 SHA-1 片段哈希值存储为原始 20 字节二进制字符串而不是十六进制。将 Bencode 转换为 JSON 时,二进制字符串通常表示为十六进制或 Base64,因为 JSON 没有原生的二进制类型。
