也许我在使用谷歌方面做得很糟糕,但是Bencoding的这些规范不断提到一种称为“十进制ASCII”的东西,这让我觉得它与常规ASCII不同。有人能解释一下吗?
为避免混淆(尽管可以认为默认情况下是十进制),base明确指出。
考虑这个问题:给定“12”的文本表示(ASCII码),其数值是多少?
然而,在Bencode中,它始终是十进制,因此42(整数)被编码为“i42e”。
5
而不是二进制版本101
显示。十进制ASCII编码整数
这意味着像1、9、11、123这样的数字。 ASCII是http://en.wikipedia.org/wiki/ASCII#ASCII_control_code_chart。
您需要查看十进制列。
以10为基数编码意味着数字以ASCII字母表示,以便在文本编辑器中更轻松地阅读。
基于十进制的ASCII码意味着你用十进制而不是十六进制来写出字符的ASCII码。
因此,A将被写成65。空格字符将被写成32。m将被写成109。
这与(例如)URL编码的ASCII不同,后者是十六进制的。在URL编码中,%41表示A,%20表示空格,%6D表示m。