【发布时间】:2021-03-05 07:22:42
【问题描述】:
阅读the javadoc of DataInput specifically in the "Modified UTF-8" section时。我遇到了三个表,上面写着“0 bits 6-0”、“1 1 0 bits 10-6”、...、“1 0 bits 5-0”。
我是 Java 新手,所以对我来说它看起来像减法,不确定,但如果是这种情况,我们将它添加到 1 和 0 中,它会产生 7 位。 据我所知,一个字节由8位组成。
这些“0 bits 6-0...”是什么意思?
【问题讨论】:
-
它表示一个范围,但它看起来“颠倒了”,因为它使用从最高有效数字/位到次有效数字/位的索引。因此,如果您有单个
byte代表 8 位,例如10101111,我们可以为它分配索引,例如[7][6][5][4][3][2][1][0]。那么所有数字的范围是7-0,它将代表位10101111。 6-2 之类的范围将是01011部分等。如果char是 16 位(2 个字节),索引将在 15-0 范围内(第一个字节的范围 15-8;第二个字节的范围 7 -0)。