TLV解码
标题:TLV解码 | 时间限制:1秒 | 内存限制:262144K | 语言限制
TLV编码是按[Tag Length Value]格式进行编码的,一段码流中的信元用Tag标识,Tag在码流中唯一不重复,Length表示信元Value的长度,Value表示信元的值。
码流以某信元的Tag开头,Tag固定占一个字节,Length固定占两个字节,字节序为小端序。
现给定TLV格式编码的码流,以及需要解码的信元Tag,请输出该信元的Value。
输入码流的16机制字符中,不包括小写字母,且要求输出的16进制字符串中也不要包含小写字母;码流字符串的最大长度不超过50000个字节。
while True:
try:
n, tvls = input(), input().split()
i = 0
flag = True
while i < len(tvls):
pos = tvls[i]
j = i + 3
temp = tvls[i + 1:j]
mid = int("".join(temp[:: -1]),base=16)
res = tvls[j:mid + j]
if pos ==n:
print(" ".join(res))
flag = False
break
else:
i += mid + 3
if flag:
print("")
except:
break
查看26道真题和解析