Bencode エンコーダー/デコーダー
Bencode(BitTorrent .torrentファイルで使用されるエンコーディング)をJSONにデコードするか、JSONをBencodeにエンコードします — Torrentファイルディクショナリのデコード時にはTorrent情報サマリーを提供します。
入力
Drop a file or browse
One file · any type
出力
結果
トレント情報
| プロパティ | 値 |
|---|---|
| No data yet | |
役に立ちましたか?
ガイド
Bencode とは?
Bencode("B-encode")は BitTorrent で使用されるデータシリアライゼーション形式です — .torrent ファイルとトラッカーレスポンスが整数、バイト文字列、リスト、辞書をエンコードする方法です。JSON よりもシンプルです(ホワイトスペースなし、浮動小数点数なし、辞書キーは文字列である必要があり、ソートされている)が、同じ目的を果たします — 構造化データを表現するコンパクトで曖昧性のない方法です。
このツールの使い方
2 つのモード間で切り替えます:
- デコード (Bencode → JSON) — 未加工の bencode テキストを貼り付けるか(または
.torrentファイルをアップロードして)、読み取り可能な JSON を取得します。有効な UTF-8 テキストではないバイナリデータは、hex:というプレフィックス付きの 16 進数文字列として表現されます。JSON は生のバイトを保持できないため です。 - エンコード (JSON → Bencode) — JSON を貼り付けて、その bencode 表現を取得します。辞書キーはアルファベット順にソートされ、正規の bencode エンコーディング規則に一致します。
デコードされたデータがトレントファイルのように見える場合(announce URL、info 辞書などを持っている場合)、トレント情報テーブルはトラッカー、名前、ピース長、ファイルリスト、および合計サイズを要約します。
Bencode の 4 つのタイプ
- 整数:
i42e→42(任意に大きい — このツールは内部でBigIntを使用するため、サイズの大きい整数は暗黙的に精度を失うことはなく、Number.MAX_SAFE_INTEGERを超える値の場合は文字列にフォールバックします) - バイト文字列:
5:hello→"hello"(長さプレフィックス、引用符なし) - リスト:
l4:spam4:eggse→["spam", "eggs"] - 辞書:
d3:cow3:mooe→{"cow": "moo"}(キーは文字列である必要があり、エンコード時にソートされます)
一般的な用途
- BitTorrent クライアントなしで
.torrentファイルの内容を検査する - bencode を生成または消費するサービスのデバッグ
- 構造化データを BitTorrent 隣接プロトコル用の bencode に変換する
- bencode 形式を JSON と並べて見ることで学習する
プライバシー
このツールはブラウザ内で完全に実行されます。あなたのデータはサーバーにアップロードされることはありません。
bencodetorrentbittorrentjsonencoderdecoder
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/bencode-encoder-decoder \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mode": "decode",
"inputText": "d8:announce35:http://tracker.example.com/announc…",
"jsonInput": ""
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `bencode-encoder-decoder` tool (Bencode Encoder/Decoder) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.