weixin_39201719 2017-06-16 12:56 采纳率: 0%
浏览 821

求解释这道题编码规则是什么意思?

信息解码
问题描述:将输入文件中的加密信息按照解密规则重现信息明文
解密规则:
•该信息解码要求经过加密的信息必须包含两部分,第一部分应该包含的是信息明文中所出现的字符,这部分我们称之为头;第二部分则是经过加密后的信息的正文;
•加 密 信 息 机 制 的 核 心 是 由 如 下 的 一 些 由 '0' 和 '1' 形 成 的 关 键 字 序 列 组 成 :0,00,01,10,000,001,010,011,100,101,110,0000,0001,. . .,1011,1110,00000, . . . 在这个序列中的第 1 个关键字的长度是 1,紧接着的 3 个的关键字的长度是 2,紧接着的 7个关键字的长度是 3,紧接着的 15 个关键字的长度是 4,等等。如果相邻的两个关键字的长度一样,那么第 2 个关键字一定是前一个关键字加 1 而得(基于 2 进制)。一定要注意在这个序列中没有出现任何一个全部由'1'组成的关键字。
•这些关键字将会与头中出现的字符顺序一一映射。也就是说第 1 个关键字(0)将代表头中出现的第 1 个字符,第 2 个关键字(00)将代表头中出现的第 2 个字符,等等。例如,假设信息中的头是: AB#TANCnrtXc,那么 0 就代表 A,00 就代表 B,01 就代表#,10 就代表 T,000 就代表 A,...,110 代表 X,0000 代表 c。
•经过加密后的信息正文仅仅包含'0'和'1',正文中出现的回车换行将被忽略。
•加密后的信息正文是由若干个组组成。
•每个组的前 3 个数字表示的包含在这个组中的关键字的长度。例如,如果前 3 个数字是 010,那么这个组中的剩余部分就只包含长度为 2 的关键字(00,01 或 10)。每个组的结束标志是与该组包含关键字等长的全'1'码。所以例子中的组的结束标志将是 11。
•整个加密后的信息正文的结束标志是 000(因为我们没有一个长度为 0 的关键字)。
我们的解密过程就是将出现在段中的关键字转换成与之对应的头中的字符即可。
输入文件:
•输入文件中将只包含一个数据集;
•每个数据集都是由头和加密后的信息组成。其中,头只占单独的一行,加密后的信息则可能由若干行组成
输出文件:
•按照数据集在输入文件中的出现顺序将解密后的信息逐行输出。
例子:
输入文件:
TNM AEIOU
0010101100011
1010001001110110011
11000
输出文件:
TAN ME

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-06-16 15:40
    关注
    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?