也许我在使用谷歌时做得很糟糕,但Bencoding的这些规范仍然指的是"基础十进制数字#34;这让我想到了#" 39; s与常规ASCII不同。有人可以解释一下吗?
答案 0 :(得分:7)
明确声明base是为了避免混淆(尽管有人可能会认为默认情况下基数为10)。
考虑一下:给出" 12"的文本表示。 (在ASCII中),数值是什么?
然而,在Bencode中,它的总是基数为10,所以42(整数)被编码为" i42e"。
在base-10上使用base-16可能是为了在较长的ASCII编码数字中保存一个字节,或者为了确保一致的pad大小。但是 base-10更适合如何通常编写数字并使Bencoded文件更易于访问。 (也就是说,Bencoded文件通常不是"人类编辑"。)
答案 1 :(得分:1)
" Base 10 ASCII,"在这种情况下使用,不是一回事。它只是意味着使用ASCII字符表示基数为10的数字。
答案 2 :(得分:1)
与二元相反?看起来数字5显示在其基数为10的表单5
中,而不是二进制版本101
。
答案 3 :(得分:0)
integer encoded in base ten ASCII
这意味着像你这样的数字,例如1,9,11,123。ASCII是http://en.wikipedia.org/wiki/ASCII#ASCII_control_code_chart
你在12月专栏中查看
以10为基数编码表示数字,ASCII表示数字的字母表示,以便于在文本编辑器中阅读
答案 4 :(得分:0)
Base 10 ASCII表示你在基数10中写出字符的ASCII码,而不是16号。
因此,A将被写为65.空格字符将被写为32. m将被写为109.
这与(例如)URL编码的ASCII(基数为16)形成对比。在URL编码中,%41为A,%20为空格,%6D为m。