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



全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务