Length-Value encoding

问题描述 投票:1回答:1

我有一个作业问题。我不明白给出的例子。因为一个字节怎么可以是255个字节?我认为,由于这个示例,(a)的答案是510个字节,(b)的答案是128个。但是,是的,我很困惑。有人可以解释一下吗?

另一种编码方案是长度值编码,其中每个字符串都编码为两个元素的序列:L:固定长度值,以字节为单位指定字符串的长度V:字符串本身但是,L的长度限制了V的最大长度。例如,如果L是字节V不能超过255个字节。知道此限制后,可以使用LV编码来注射编码多少个值(a)长度是否使用2个字节编码?(b)是否使用4位长度的长度值编码来编码长度?

encode
1个回答
0
投票

不是说一个字节是255个字节。也就是说,如果V(正在编码的字符串)的长度(L)由单个字节2 ^ 8(0-255)指定,则长度不能超过255个字节。如果您使用了两个以上的字节,则可以指定最长2 ^ 16(0-65535)个字符的字符串。

例如,如果我们想对值Example进行编码。我们将写出它的长度(L),然后是值(V)。即我们将7写入字节,然后是'E''x''a''m''p''l''e'中的字符的ASCII值的字节。如果我们只使用一个字节作为长度,那么我们就无法编码一个很长的字符串,因为一个字节的范围是0-255或1-256(256 = 2 ^ 8),因为一个字节仅包含8位。

它想要的答案是(a)(2 ^ 16-1)= 65535和(b)(2 ^ 4-1-1)= 15

但是,问题是错误的,最大长度为255。除非您希望能够指定零长度的字符串,否则应为256。

© www.soinside.com 2019 - 2024. All rights reserved.