使用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]字符串,由所有20字节SHA1哈希值的串联组成,每件一个(字节串,即不是urlencoded)
但是我看到常量反斜杠“\”并且想知道这是否像十六进制代码那样,因为SHA-1通常输出为十六进制?
答案 0 :(得分: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
等