【发布时间】:2015-09-02 07:24:03
【问题描述】:
OID 似乎是一种表示树状结构的方式。
例如 1.3.6.1 是 iso(1).org(3).did(6).internet(1)
最常用的编码方案似乎是 BER,我对前两位数字的编码感到困惑。为什么前两位编码成一个字节,为什么是这样的:
int first_digit = first_byte / 40;
int second_byte = first_byte % 40;
是否假设前两个字节总是小数字,因此可以很容易地“存储”在一个字节中?如果是这样我可以理解。
但为什么要使用幻数 40?为什么是 40?
例如。上述 1.3.xxx 情况下的第一个字节将被编码为 43。
【问题讨论】:
-
This 确认了这一点,但没有链接到why的解释:“value1 仅限于值 0、1 和 2;当 value1 为 0 或1"。为此,您可能需要深入了解互联网史前史、X. 标准委员会等,我不确定这些东西是在线的。