了解 BitTorrent 片段输出
Understanding BitTorrent Pieces Output
使用 https://github.com/utdemir/bencoder 从单个文件 torrent 中提取元信息后,我在输出的 "pieces" 部分下看到以下文本-
This is an abbreviated portion of the output-
'pieces':'\x8f1g\xdb\x1e\x17\n(\xf9\xbb\xb0&\xa0\xadT9N\xa8L\x89\x97\xf79\x15\x07N
在查看 https://wiki.theory.org/BitTorrentSpecification 之后,我了解到这个输出是 -
[a] string consisting of the concatenation of all 20-byte SHA1 hash values, one per piece (byte string, i.e. not urlencoded)
但是我看到常量反斜杠“\”,我想知道这是否类似于十六进制代码,因为 SHA-1 通常输出为十六进制?
您从程序中看到的输出被编码为 Python bytesliteral、
是不可打印的字节并且 ASCII 被转义。
\x8f1g\xdb\x1e\x17\n(\xf9\xbb\xb0&\xa0\xadT9N\xa8L\x89\x97\xf79\x15\x07N
\x8f
=> 十六进制 0x8F
1g
=> ASCII“1g”
\xdb\x1e\x17
=> 十六进制 0xDB1E17
\n
=> 转义序列表示 ASCII 换行 (LF)(十六进制 0x0A)
(
=> ASCII“(”
\xf9\xbb\xb0
=> 十六进制 0xF9BBB0
等等
使用 https://github.com/utdemir/bencoder 从单个文件 torrent 中提取元信息后,我在输出的 "pieces" 部分下看到以下文本-
This is an abbreviated portion of the output-
'pieces':'\x8f1g\xdb\x1e\x17\n(\xf9\xbb\xb0&\xa0\xadT9N\xa8L\x89\x97\xf79\x15\x07N
在查看 https://wiki.theory.org/BitTorrentSpecification 之后,我了解到这个输出是 -
[a] string consisting of the concatenation of all 20-byte SHA1 hash values, one per piece (byte string, i.e. not urlencoded)
但是我看到常量反斜杠“\”,我想知道这是否类似于十六进制代码,因为 SHA-1 通常输出为十六进制?
您从程序中看到的输出被编码为 Python bytesliteral、
是不可打印的字节并且 ASCII 被转义。
\x8f1g\xdb\x1e\x17\n(\xf9\xbb\xb0&\xa0\xadT9N\xa8L\x89\x97\xf79\x15\x07N
\x8f
=> 十六进制 0x8F
1g
=> ASCII“1g”
\xdb\x1e\x17
=> 十六进制 0xDB1E17
\n
=> 转义序列表示 ASCII 换行 (LF)(十六进制 0x0A)
(
=> ASCII“(”
\xf9\xbb\xb0
=> 十六进制 0xF9BBB0
等等